@font-face{font-family:Gilroy;src:url('../fonts/Gilroy-Regular.woff')}@font-face{font-family:Gilroy;font-weight:700;src:url('../fonts/Gilroy-Bold.woff')}*{box-sizing:border-box}body{margin:0;background:#fff;color:#111;font-family:Gilroy,Arial,sans-serif}.apb-old{height:100vh;overflow:hidden;background:#fff}.apb-head{height:36px;border-bottom:1px solid #e9e9e9;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:16px;background:white}.apb-head b{font-weight:700}.apb-chat{color:#b33b80;border:1px solid #d775ac;border-radius:50%;font-size:12px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.apb-main{height:calc(100vh - 36px);display:grid;grid-template-columns:minmax(0,1fr) 420px}.apb-work{position:relative;min-width:0;padding:8px 18px 96px;background:#fff;overflow:hidden}.apb-work:after{content:"";position:absolute;left:0;right:0;bottom:70px;height:210px;background:radial-gradient(1200px 160px at 15% 100%,rgba(244,244,244,.9),transparent 70%),radial-gradient(900px 160px at 70% 100%,rgba(244,244,244,.9),transparent 70%);pointer-events:none}.apb-work h1{font-size:26px;line-height:1.1;margin:0 0 14px;font-weight:900;position:relative;z-index:2}.apb-stage{position:relative;z-index:2;display:grid;grid-template-columns:44% 56%;gap:26px;align-items:start;height:calc(100vh - 160px)}.apb-canvas-col{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:34px}.apb-canvas-wrap{width:100%;height:560px;display:flex;align-items:flex-start;justify-content:center;position:relative}.apb-canvas-wrap canvas{background:#fff;box-shadow:0 0 11px rgba(0,0,0,.6);cursor:grab;touch-action:none}.apb-canvas-wrap canvas:active{cursor:grabbing}.apb-upload-cover{position:absolute;display:flex;align-items:center;justify-content:center;top:0;width:360px;height:470px;background:#fff;box-shadow:0 0 11px rgba(0,0,0,.6);cursor:pointer}.apb-upload-cover input{display:none}.apb-upload-cover span{background:#dd73ae;color:#fff;border-radius:30px;padding:14px 24px;font-weight:700;box-shadow:0 5px 16px rgba(188,52,126,.25)}#apb-zoom{width:96%;max-width:540px;margin:20px 0 0;accent-color:#c0528b}.apb-options-col{padding:42px 0 0;min-width:0}.apb-side{background:#eee;position:relative;padding:18px 16px}.apb-pricebox{height:72px;background:#ffd968;border-radius:9px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;margin-bottom:92px;font-size:16px;color:#18234b}.apb-pricebox b{font-size:24px;font-weight:900}.apb-consult{display:flex;align-items:center;gap:18px;margin-bottom:28px;position:relative}.apb-consult img{width:112px;height:112px;border-radius:50%;object-fit:cover}.apb-consult b{display:block;font-size:20px;font-weight:900}.apb-consult span{display:block;font-size:16px}.apb-consult i{position:absolute;left:92px;bottom:20px;background:#26cc03;border:4px solid #eee;border-radius:50%;width:26px;height:26px}.apb-bubble{background:#fff;min-height:72px;padding:20px 22px;font-size:15px;line-height:1.16;position:relative;margin-bottom:92px}.apb-bubble:before{content:"";position:absolute;left:40px;top:-18px;border-left:18px solid transparent;border-right:18px solid transparent;border-bottom:18px solid #fff}.apb-bonus,.apb-discount{height:60px;border-radius:4px;margin:16px 0;color:white;font-weight:900;display:flex;align-items:center;justify-content:center;position:relative}.apb-bonus{background:linear-gradient(90deg,#f10598,#a63886)}.apb-discount{background:#f7b500}.apb-bonus i,.apb-discount i{position:absolute;right:-11px;top:-8px;width:24px;height:24px;background:#24b80c;border-radius:50%}.apb-bottom{position:absolute;z-index:4;left:26px;right:30px;bottom:14px;height:62px}.apb-done{font-size:16px;color:#aaa;margin-bottom:14px}.apb-done b{color:#b63c86}.apb-line{height:11px;background:#d9d9d9;border-radius:8px;width:75%;overflow:hidden}.apb-line span{display:block;height:100%;width:0;background:linear-gradient(90deg,#b44384,#d274ad);border-radius:8px;transition:.25s}.apb-actions{position:absolute;right:0;bottom:-5px;display:flex;align-items:center;gap:10px}.apb-actions button{border:0;cursor:pointer}.apb-actions #apb-prev{width:50px;height:50px;border-radius:50%;font-size:34px;color:#999;background:white;border:1px solid #bbb}.apb-actions #apb-next{min-width:134px;height:54px;border-radius:28px;background:#df78b3;color:#fff;font-size:17px;font-weight:700;box-shadow:0 2px 6px rgba(0,0,0,.18)}.apb-actions small{position:absolute;right:14px;top:54px;width:150px;font-size:12px;color:#aaa}.apb-iconbar{float:left;width:76px;display:flex;flex-direction:column;gap:14px;margin-right:18px}.apb-iconbar button{width:60px;height:60px;border-radius:50%;border:0;background:#df78b3;color:white;font-size:30px}.apb-iconbar button.active{background:#ad3b83}.apb-size-grid{display:grid;grid-template-columns:repeat(5,112px);gap:6px}.apb-size{height:130px;border:1px solid #ccc;background:#fff;padding:5px;text-align:center;cursor:pointer;font-size:17px}.apb-size.active{background:#38e000;border-color:#38e000}.apb-size img{width:86px;height:85px;object-fit:contain;display:block;margin:0 auto 4px}.apb-size span{display:block}.apb-subtitle,.apb-quality-title{font-size:16px;font-weight:400;margin:0 0 12px}.apb-style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:690px}.apb-style{height:130px;padding:0;border:1px solid #d4d4d4;border-radius:4px;overflow:hidden;background:white;cursor:pointer;position:relative}.apb-style.active span{background:#36d900;color:#fff}.apb-style img{width:100%;height:105px;object-fit:cover;display:block}.apb-style span{position:absolute;left:0;right:0;bottom:0;background:rgba(255,255,255,.92);font-size:16px;height:24px;line-height:24px;text-align:center}.apb-radio-list{padding-top:22px;max-width:680px}.apb-radio{height:43px;width:100%;display:flex;align-items:center;gap:24px;border:1px solid #eee;background:#fff;border-radius:5px;margin-bottom:14px;font-size:17px;position:relative;cursor:pointer;text-align:left;padding:0 52px}.apb-radio.active{border:2px solid #ffc4e4}.apb-radio i{position:absolute;left:12px;width:20px;height:20px;border-radius:50%;background:#f0f0f0}.apb-radio.active i{background:#f20b91;border:4px solid #fff;box-shadow:0 0 0 2px #f20b91}.apb-radio b{position:absolute;right:42px;background:#ffbb08;color:white;font-size:13px;border-radius:4px;padding:6px 10px;transform:rotate(8deg)}#apb-text{width:100%;max-width:680px;height:110px;border:1px solid #ddd;border-radius:5px;padding:14px;font:inherit}.apb-quality-grid{display:flex;gap:18px}.apb-quality{width:150px;height:194px;border:1px solid #aaa;background:white;padding:0;position:relative;cursor:pointer}.apb-quality.active span{background:#38e000;color:#fff}.apb-quality img{width:100%;height:100px;object-fit:cover;display:block}.apb-quality span{display:block;min-height:94px;padding:12px 4px;text-align:center;font-size:16px}.apb-quality span b,.apb-quality span em,.apb-quality span strong{display:block;font-style:normal}.apb-quality u{position:absolute;top:-16px;left:-6px;width:42px;height:42px;border-radius:50%;background:#fff;color:#ff2ba4;border:1px solid #ccc;text-decoration:none;font-size:28px;line-height:42px}.apb-final{display:flex;gap:20px;align-items:center;padding-top:86px}.apb-final ul{list-style:none;padding:0;margin:0;width:400px}.apb-final li{background:#eee;border-radius:24px;text-align:center;margin:14px 0;padding:8px 16px;font-size:15px}.apb-final li:first-letter{color:#ff157f}.apb-stars{text-align:center;color:#ffbc00;font-size:22px;font-weight:900}.apb-stars span{font-size:16px;color:#777}.apb-loader{display:none;position:fixed;inset:0;background:rgba(255,255,255,.76);z-index:99;align-items:center;justify-content:center;flex-direction:column;font-weight:900}.apb-loader.active{display:flex}.apb-loader div{width:48px;height:48px;border-radius:50%;border:5px solid #ddd;border-top-color:#d86dab;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.apb-old{height:auto;min-height:100vh;overflow:auto}.apb-main{height:auto;display:block}.apb-side{display:none}.apb-work{padding:12px 12px 100px}.apb-stage{display:block;height:auto}.apb-canvas-col{padding-top:10px}.apb-canvas-wrap{height:430px}.apb-options-col{padding:20px 0}.apb-size-grid{grid-template-columns:repeat(3,1fr)}.apb-style-grid{grid-template-columns:repeat(2,1fr)}.apb-bottom{position:fixed;background:#fff;left:0;right:0;bottom:0;padding:10px 12px;height:86px}.apb-line{width:55%}.apb-actions{right:12px;bottom:16px}.apb-actions small{display:none}}
/* v0.2.5 refinements */
.apb-first-row{display:flex;align-items:flex-start;gap:18px}.apb-iconbar{float:none;flex:0 0 76px}.apb-format-btn{width:64px;height:64px;border-radius:50%;border:0;background:#df78b3;color:#fff;font-size:26px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;box-shadow:0 4px 12px rgba(181,55,130,.18);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.apb-format-btn:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 7px 18px rgba(181,55,130,.28)}.apb-format-btn.active{background:#ad3b83;box-shadow:0 8px 22px rgba(173,59,131,.35)}.apb-format-btn em{display:none}.apb-format-btn input{display:none}.apb-upload-btn{background:#df78b3}.apb-size-area{min-width:0;flex:1}.apb-orient-title{font-size:14px;margin:0 0 8px;color:#777}.apb-size,.apb-style,.apb-quality,.apb-radio{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}.apb-size:hover,.apb-style:hover,.apb-quality:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.12)}.apb-size.active,.apb-style.active,.apb-quality.active{box-shadow:0 8px 18px rgba(56,224,0,.22)}.apb-radio:hover{box-shadow:0 5px 16px rgba(255,20,143,.08)}.apb-line{position:relative}.apb-line span{background:repeating-linear-gradient(135deg,#b44384 0,#b44384 10px,#cc6ca8 10px,#cc6ca8 20px);background-size:42px 42px;animation:apbProgress 1.2s linear infinite,apbWidth .25s ease}.apb-line:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:translateX(-100%);animation:apbShine 2.2s ease-in-out infinite}@keyframes apbProgress{to{background-position:42px 0}}@keyframes apbShine{50%,100%{transform:translateX(120%)}}@keyframes apbFadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.apb-options-col>*{animation:apbFadeUp .28s ease both}.apb-actions #apb-next{transition:transform .16s ease,box-shadow .16s ease}.apb-actions #apb-next:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(219,99,168,.34)}.apb-pricebox b{white-space:nowrap}.apb-loader p{font-size:18px;color:#ad3b83}
@media(max-width:900px){body{overflow:auto}.apb-head{position:sticky;top:0;z-index:20}.apb-work{min-height:100vh;overflow:visible;padding-bottom:108px}.apb-work h1{font-size:22px;margin-bottom:8px}.apb-canvas-wrap{height:54vh;min-height:330px;max-height:520px}.apb-upload-cover{max-width:88vw;max-height:48vh}.apb-options-col{padding-top:10px}.apb-first-row{display:block}.apb-iconbar{width:100%;display:flex;flex-direction:row;gap:10px;overflow-x:auto;padding:4px 2px 10px;margin:0}.apb-format-btn{flex:0 0 58px;width:58px;height:58px}.apb-size-area{width:100%}.apb-size-grid{display:flex;overflow-x:auto;gap:8px;padding:4px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.apb-size{flex:0 0 108px;scroll-snap-align:start}.apb-style-grid{display:flex;overflow-x:auto;gap:8px;padding:4px 2px 12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.apb-style{flex:0 0 210px;scroll-snap-align:start}.apb-quality-grid{overflow-x:auto;padding:4px 2px 12px;-webkit-overflow-scrolling:touch}.apb-quality{flex:0 0 145px}.apb-radio-list{padding-top:6px}.apb-radio{font-size:16px;height:48px;padding-right:76px}.apb-bottom{box-shadow:0 -6px 18px rgba(0,0,0,.08)}.apb-line{width:48%;height:10px}.apb-done{margin-bottom:9px}.apb-actions #apb-next{min-width:124px;height:50px}.apb-actions #apb-prev{width:46px;height:46px}.apb-subtitle,.apb-quality-title,.apb-orient-title{padding-left:2px}.apb-canvas-col{position:sticky;top:37px;background:white;z-index:5}}
@media(max-width:520px){.apb-canvas-wrap{height:48vh;min-height:310px}.apb-work h1{font-size:20px}.apb-format-btn{flex-basis:54px;width:54px;height:54px}.apb-style{flex-basis:190px}.apb-bottom{height:96px}.apb-line{width:42%}.apb-actions{gap:6px}.apb-actions #apb-next{min-width:112px;font-size:16px}.apb-actions #apb-prev{width:42px;height:42px;font-size:28px}}

/* v0.2.6 mobile + canvas refinements */
.apb-canvas-wrap canvas{border:0!important;outline:0!important;display:block;transition:box-shadow .25s ease,transform .25s ease;will-change:transform;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.apb-canvas-wrap canvas:active{transform:scale(.998);box-shadow:0 0 18px rgba(0,0,0,.48)}
.apb-upload-cover{border:0!important}.apb-format-btn .apb-easel{width:34px;height:34px;display:block;position:relative}.apb-format-btn .apb-easel:before{content:"";position:absolute;left:50%;top:3px;transform:translateX(-50%);border:3px solid #fff;border-radius:2px;background:rgba(255,255,255,.08)}.apb-format-btn .apb-easel i:before,.apb-format-btn .apb-easel i:after{content:"";position:absolute;background:#fff;border-radius:2px}.apb-format-btn .apb-easel i:before{width:4px;height:14px;left:15px;bottom:1px}.apb-format-btn .apb-easel i:after{height:4px;width:30px;left:2px;bottom:10px}.apb-format-btn .apb-easel-port:before{width:18px;height:26px}.apb-format-btn .apb-easel-land:before{width:28px;height:18px;top:7px}.apb-format-btn .apb-easel-square:before{width:23px;height:23px;top:5px}.apb-upload-btn{font-size:0}.apb-upload-btn:before{content:"📷";font-size:28px;line-height:1}
.apb-line{overflow:visible;background:#d5d5d5;height:8px}.apb-line span{position:relative;min-width:10px;background:linear-gradient(90deg,#b03682,#e07ab5,#b03682);background-size:180% 100%;animation:apbFlow 1.5s ease-in-out infinite;border-radius:12px;box-shadow:0 2px 7px rgba(180,54,130,.3);transition:width .45s cubic-bezier(.22,.8,.24,1)}.apb-line span:after{content:"";position:absolute;right:-12px;top:50%;width:22px;height:22px;border-radius:50%;background:#fff;border:7px solid #c55a98;transform:translateY(-50%);box-shadow:0 2px 6px rgba(0,0,0,.2)}.apb-line:after{display:none}@keyframes apbFlow{0%{background-position:0 0}50%{background-position:100% 0}100%{background-position:0 0}}
.apb-size,.apb-style,.apb-quality{animation:apbCardIn .32s ease both}.apb-size:nth-child(2),.apb-style:nth-child(2),.apb-quality:nth-child(2){animation-delay:.035s}.apb-size:nth-child(3),.apb-style:nth-child(3),.apb-quality:nth-child(3){animation-delay:.07s}.apb-size:nth-child(4),.apb-style:nth-child(4){animation-delay:.105s}.apb-size:nth-child(5),.apb-style:nth-child(5){animation-delay:.14s}@keyframes apbCardIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.apb-actions #apb-next{position:relative;overflow:hidden}.apb-actions #apb-next:after{content:"";position:absolute;top:0;bottom:0;width:40px;left:-60px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-18deg);animation:apbButtonShine 3s ease-in-out infinite}@keyframes apbButtonShine{0%,55%{left:-70px}85%,100%{left:120%}}
@media(max-width:900px){.apb-work{padding-left:0;padding-right:0}.apb-work h1{padding:0 18px}.apb-canvas-col{top:36px;padding-top:14px;padding-bottom:12px}.apb-canvas-wrap{height:50vh;min-height:345px;max-height:560px;align-items:center}.apb-options-col{padding:14px 12px 10px}.apb-iconbar{justify-content:center}.apb-size-grid,.apb-style-grid,.apb-quality-grid{margin-left:-12px;margin-right:-12px;padding-left:20px;padding-right:20px;scrollbar-width:thin}.apb-radio-list{padding:6px 8px 0}.apb-final{padding:20px 12px 100px}.apb-bottom{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;height:82px;padding:8px 14px}.apb-done{display:none}.apb-line{position:absolute;left:0;right:0;bottom:0;width:100%;height:6px;border-radius:0}.apb-line span{border-radius:0}.apb-line span:after{width:0;height:0;border:0}.apb-actions{position:static;justify-self:end}.apb-actions #apb-prev{order:1}.apb-actions #apb-next{order:2}.apb-pricebox-mobile{display:block}.apb-style{height:132px}.apb-style img{height:104px}.apb-size{height:132px}.apb-size img{height:84px}.apb-format-btn{box-shadow:0 5px 16px rgba(181,55,130,.2)}}
@media(max-width:520px){.apb-head{height:64px;padding:0 28px;font-size:20px}.apb-chat{width:32px;height:32px}.apb-canvas-col{top:64px}.apb-canvas-wrap{height:47vh;min-height:330px}.apb-options-col{padding-top:8px}.apb-iconbar{gap:18px}.apb-format-btn{width:62px;height:62px;flex-basis:62px}.apb-size{flex:0 0 190px;height:225px;border-radius:7px}.apb-size img{width:150px;height:150px}.apb-size span{font-size:27px}.apb-style{flex-basis:220px}.apb-radio{height:64px;font-size:24px;padding-left:80px}.apb-radio i{left:26px;width:28px;height:28px}.apb-radio.active i{border-width:6px}.apb-radio b{right:42px;font-size:18px}.apb-quality{flex-basis:216px;height:290px}.apb-quality img{height:150px}.apb-quality span{font-size:24px}.apb-bottom{height:82px}.apb-actions #apb-next{height:56px;min-width:122px;font-size:22px}.apb-actions #apb-prev{width:54px;height:54px;font-size:35px}.apb-canvas-wrap canvas{box-shadow:0 0 17px rgba(0,0,0,.55)}}

/* v0.2.7 fixes: compact mobile, stable touch drag, new progress, same-origin checkout */
.apb-canvas-wrap canvas:active{transform:none!important;box-shadow:0 0 17px rgba(0,0,0,.55)!important}.apb-canvas-wrap canvas{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}
.apb-upload-btn:before{content:"";width:32px;height:24px;border:4px solid #fff;border-radius:6px;display:block;position:relative}.apb-upload-btn:after{content:"";position:absolute;width:12px;height:12px;border:4px solid #fff;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-38%)}.apb-upload-btn{font-size:0}.apb-upload-btn .apb-easel{display:none}
.apb-line{height:9px;background:linear-gradient(180deg,#dedede,#cfcfcf);box-shadow:inset 0 1px 2px rgba(0,0,0,.1);overflow:visible}.apb-line span{background:linear-gradient(90deg,#aa2c7a 0%,#de70b0 45%,#ff9ed0 55%,#b23684 100%);background-size:220% 100%;animation:apbCandy 1.8s ease-in-out infinite;box-shadow:0 2px 8px rgba(180,54,130,.38)}.apb-line span:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.22) 0,rgba(255,255,255,.22) 7px,transparent 7px,transparent 15px);border-radius:inherit;animation:apbStripeMove 1.1s linear infinite}.apb-line span:after{background:#fff;border:6px solid #b13a82;box-shadow:0 3px 10px rgba(177,58,130,.35)}@keyframes apbCandy{0%,100%{background-position:0 0}50%{background-position:100% 0}}@keyframes apbStripeMove{to{background-position:30px 0}}
@media(max-width:900px){
  html,body{height:100%;overflow:hidden!important}.apb-old{height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}.apb-main{height:calc(100dvh - 54px)!important;overflow:hidden!important}.apb-head{height:54px!important;position:relative!important;top:auto!important;font-size:18px!important;padding:0 22px!important}.apb-work{height:calc(100dvh - 54px)!important;min-height:0!important;overflow:hidden!important;padding:8px 0 76px!important}.apb-work h1{display:none}.apb-work:after{display:none}.apb-stage{height:100%!important;display:flex!important;flex-direction:column!important;gap:0!important}.apb-canvas-col{position:relative!important;top:auto!important;height:45dvh!important;min-height:245px!important;max-height:345px!important;padding:8px 0 4px!important;flex:0 0 auto!important}.apb-canvas-wrap{height:calc(100% - 22px)!important;min-height:220px!important;max-height:none!important;align-items:center!important}.apb-canvas-wrap canvas{max-width:82vw!important;max-height:100%!important}.apb-upload-cover{width:82vw!important;height:78%!important;max-width:360px!important;max-height:315px!important}.apb-zoom,#apb-zoom{height:14px;margin:4px 0 0!important;max-width:78vw!important}.apb-options-col{flex:1 1 auto!important;min-height:0!important;overflow:hidden!important;padding:6px 12px 2px!important}.apb-first-row{height:100%;display:flex!important;flex-direction:column!important}.apb-iconbar{height:58px!important;flex:0 0 58px!important;justify-content:center!important;gap:14px!important;overflow:visible!important;padding:0!important;margin:0 0 6px!important}.apb-format-btn{width:52px!important;height:52px!important;flex:0 0 52px!important}.apb-format-btn .apb-easel{width:28px;height:28px}.apb-format-btn .apb-easel-port:before{width:14px;height:22px}.apb-format-btn .apb-easel-land:before{width:24px;height:15px}.apb-format-btn .apb-easel-square:before{width:19px;height:19px}.apb-size-area{height:calc(100% - 64px);display:flex;flex-direction:column}.apb-orient-title{display:none}.apb-size-grid{display:grid!important;grid-auto-flow:column!important;grid-template-columns:repeat(3,calc((100vw - 34px)/3))!important;grid-auto-columns:calc((100vw - 34px)/3)!important;grid-template-rows:1fr!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -12px!important;padding:2px 14px 8px!important;scroll-snap-type:x mandatory!important}.apb-size{height:132px!important;width:auto!important;min-width:0!important;flex:none!important;padding:4px!important;scroll-snap-align:start!important;border-radius:6px}.apb-size img{width:78px!important;height:82px!important;margin-bottom:2px!important}.apb-size span{font-size:20px!important;line-height:1.1!important}.apb-style-grid{display:grid!important;grid-auto-flow:column!important;grid-template-columns:repeat(3,calc((100vw - 34px)/3))!important;grid-auto-columns:calc((100vw - 34px)/3)!important;grid-template-rows:1fr!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -12px!important;padding:2px 14px 8px!important}.apb-style{width:auto!important;height:116px!important;min-width:0!important;flex:none!important}.apb-style img{height:86px!important}.apb-style span{height:30px!important;line-height:15px!important;font-size:12px!important;white-space:normal!important;padding:0 2px!important}.apb-subtitle{display:none}.apb-radio-list{padding:8px 8px 0!important}.apb-radio{height:54px!important;font-size:20px!important;margin-bottom:12px!important;padding-left:58px!important;padding-right:86px!important}.apb-radio i{left:18px!important;width:24px!important;height:24px!important}.apb-radio b{right:22px!important;font-size:15px!important}.apb-quality-title{display:none}.apb-quality-grid{display:grid!important;grid-auto-flow:column!important;grid-template-columns:repeat(2,calc((100vw - 34px)/2))!important;grid-auto-columns:calc((100vw - 34px)/2)!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -12px!important;padding:4px 14px 8px!important}.apb-quality{width:auto!important;height:190px!important;flex:none!important}.apb-quality img{height:98px!important}.apb-quality span{font-size:18px!important;min-height:90px!important;padding:8px 4px!important}.apb-final{height:100%;display:flex!important;align-items:flex-start!important;padding:8px 4px 0!important}.apb-final ul{width:100%!important}.apb-final li{font-size:17px!important;margin:8px 0!important;padding:12px 10px!important}.apb-stars{display:none}.apb-bottom{height:76px!important;padding:6px 12px!important;box-shadow:0 -4px 18px rgba(0,0,0,.08)!important}.apb-actions #apb-next{height:50px!important;min-width:112px!important;font-size:20px!important}.apb-actions #apb-prev{width:48px!important;height:48px!important;font-size:32px!important}.apb-pricebox-mobile,.apb-done{display:none!important}.apb-line{height:7px!important;bottom:0!important}.apb-line span:after{display:none!important}
}

.apb-subject-chips{
  position:absolute!important;
  z-index:21!important;
  right:calc(50% - 176px)!important;
  top:76px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  align-items:center!important;
  pointer-events:auto!important;
}
.apb-subject-chip{
  width:48px!important;
  height:48px!important;
  border-radius:50%!important;
  border:2px solid rgba(218,93,171,.96)!important;
  background:#fff!important;
  box-shadow:0 8px 18px rgba(62,36,86,.20)!important;
  padding:0!important;
  margin:0!important;
  position:relative!important;
  display:block!important;
  cursor:pointer!important;
  overflow:visible!important;
}
.apb-subject-chip img{
  width:100%!important;
  height:100%!important;
  border-radius:50%!important;
  object-fit:cover!important;
  display:block!important;
}
.apb-subject-chip span{
  position:absolute!important;
  left:50%!important;
  top:100%!important;
  transform:translate(-50%,2px)!important;
  padding:1px 5px!important;
  border-radius:8px!important;
  background:rgba(45,32,76,.86)!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  pointer-events:none!important;
}
.apb-subject-chip i{
  position:absolute!important;
  right:-5px!important;
  top:-5px!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:#2f2152!important;
  color:#fff!important;
  font-style:normal!important;
  font-size:14px!important;
  line-height:17px!important;
  text-align:center!important;
  box-shadow:0 3px 8px rgba(0,0,0,.22)!important;
}
.apb-subject-pet{
  border-color:#f2c84c!important;
  box-shadow:0 8px 18px rgba(214,166,23,.20)!important;
}
@media(max-width:520px){
  .apb-subject-chips{
    right:18px!important;
    top:70px!important;
    gap:7px!important;
  }
  .apb-subject-chip{
    width:44px!important;
    height:44px!important;
  }
  .apb-subject-chip span{
    font-size:8px!important;
  }
}

/* v0.8.1: real molding catalogue and live frame preview. */
.apb-frame-card{height:178px;padding:7px 7px 8px;overflow:hidden;}
.apb-frame-sample{width:100%;height:106px;padding:0;margin:0 auto 5px;overflow:hidden;background:#f8f6f7;border:1px solid #eee8ec;}
.apb-frame-sample .apb-molding-photo{width:100%;height:100%;object-fit:contain;box-shadow:none;outline:0;background:#fff;}
.apb-frame-sample .apb-no-frame-art{width:70px;height:92px;object-fit:cover;outline:0;box-shadow:0 4px 10px rgba(35,24,31,.18);}
.apb-frame-card strong{font-size:13px;line-height:15px;}
.apb-frame-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;color:#7b6b74;font-size:9px;line-height:11px;font-weight:700;letter-spacing:.02em;}
.apb-frame-card.active{background:linear-gradient(145deg,#fafff8,#fff);box-shadow:0 0 0 3px #39d722,0 12px 25px rgba(46,188,32,.26);}

.apb-canvas-wrap canvas[data-frame]{box-sizing:content-box!important;}
.apb-canvas-wrap canvas[data-frame="none"]{border:0!important;outline:0!important;box-shadow:0 8px 18px rgba(33,22,29,.25)!important;}
.apb-canvas-wrap canvas[data-frame="am5624-x811"]{border:11px ridge #c49a39!important;outline:4px solid #4b3018!important;box-shadow:0 0 0 2px #e1c16a,0 16px 30px rgba(55,35,15,.35)!important;}
.apb-canvas-wrap canvas[data-frame="am2034-b186"]{border:9px ridge #623321!important;outline:3px solid #2b1711!important;box-shadow:0 0 0 2px #8f5438,0 15px 28px rgba(42,23,16,.36)!important;}
.apb-canvas-wrap canvas[data-frame="dm2028-1112"]{border:9px solid #171719!important;outline:2px solid #3b3b3e!important;box-shadow:0 15px 28px rgba(16,16,18,.36)!important;}
.apb-canvas-wrap canvas[data-frame="dm2028-1647"]{border:9px ridge #c8aa59!important;outline:2px solid #856a2d!important;box-shadow:0 15px 28px rgba(74,56,20,.3)!important;}
.apb-canvas-wrap canvas[data-frame="am2034-x811"]{border:9px ridge #d2a538!important;outline:3px solid #664315!important;box-shadow:0 0 0 2px #f0d779,0 15px 29px rgba(74,48,13,.34)!important;}

.apb-options-col[data-frame] .apb-floating-art img{box-sizing:content-box;}
.apb-options-col[data-frame="none"] .apb-floating-art img{border:0;outline:0;}
.apb-options-col[data-frame="am5624-x811"] .apb-floating-art img{border:12px ridge #c49a39;outline:4px solid #4b3018;box-shadow:0 0 0 2px #e1c16a,0 20px 32px rgba(48,35,24,.25);}
.apb-options-col[data-frame="am2034-b186"] .apb-floating-art img{border:10px ridge #623321;outline:3px solid #2b1711;box-shadow:0 20px 32px rgba(48,35,30,.25);}
.apb-options-col[data-frame="dm2028-1112"] .apb-floating-art img{border:10px solid #171719;outline:2px solid #3b3b3e;box-shadow:0 20px 32px rgba(32,30,32,.27);}
.apb-options-col[data-frame="dm2028-1647"] .apb-floating-art img{border:10px ridge #c8aa59;outline:2px solid #856a2d;box-shadow:0 20px 32px rgba(55,45,22,.24);}
.apb-options-col[data-frame="am2034-x811"] .apb-floating-art img{border:10px ridge #d2a538;outline:3px solid #664315;box-shadow:0 0 0 2px #f0d779,0 20px 32px rgba(55,39,17,.25);}

@media(max-width:900px){
  .apb-frame-card{height:139px;padding:5px 4px 4px;}
  .apb-frame-sample{width:100%;height:83px;margin-bottom:3px;}
  .apb-frame-sample .apb-no-frame-art{width:47px;height:66px;}
  .apb-frame-card strong{font-size:10.5px;line-height:12px;}
  .apb-frame-card small{font-size:7.5px;line-height:9px;}
  .apb-frame-card em{font-size:9px;line-height:10px;}
}

/* v0.8.2: traditional upward molding corners and closer material rendering. */
.apb-frame-sample:not([data-frame="none"]){
  width:92%;height:104px;border:0;border-radius:0;
  background-color:transparent;background-repeat:no-repeat;background-size:225% auto;
  clip-path:polygon(0 35%,50% 0,100% 35%,100% 65%,50% 31%,0 65%);
  filter:drop-shadow(0 5px 4px rgba(45,28,38,.2));
}
.apb-frame-sample:not([data-frame="none"]) .apb-molding-photo{display:none;}
.apb-frame-sample[data-frame="am5624-x811"]{background-image:url("../img/frames/am5624-x811.jpg");background-position:7% 8%;}
.apb-frame-sample[data-frame="am2034-b186"]{background-image:url("../img/frames/am2034-b186.jpg");background-position:7% 8%;}
.apb-frame-sample[data-frame="dm2028-1112"]{background-image:url("../img/frames/dm2028-1112.jpg");background-position:31% 7%;}
.apb-frame-sample[data-frame="dm2028-1647"]{background-image:url("../img/frames/dm2028-1647.jpg");background-position:14% 8%;}
.apb-frame-sample[data-frame="am2034-x811"]{background-image:url("../img/frames/am2034-x811.jpg");background-position:7% 8%;}
.apb-frame-card.active .apb-frame-sample{filter:drop-shadow(0 5px 6px rgba(49,164,34,.3));}

.apb-canvas-wrap canvas[data-frame="am5624-x811"],.apb-options-col[data-frame="am5624-x811"] .apb-floating-art img{border-style:solid!important;border-image:repeating-linear-gradient(45deg,#3d2815 0 3px,#9a6f24 3px 6px,#e2c56a 6px 9px,#674019 9px 12px) 12 round!important;}
.apb-canvas-wrap canvas[data-frame="am2034-b186"],.apb-options-col[data-frame="am2034-b186"] .apb-floating-art img{border-style:solid!important;border-image:repeating-linear-gradient(90deg,#211510 0 4px,#503023 4px 8px,#7c4a32 8px 11px,#2c1914 11px 15px) 10 round!important;}
.apb-canvas-wrap canvas[data-frame="dm2028-1112"],.apb-options-col[data-frame="dm2028-1112"] .apb-floating-art img{border-style:solid!important;border-image:linear-gradient(135deg,#09090a,#29292c 45%,#111113 70%,#39393b) 10!important;}
.apb-canvas-wrap canvas[data-frame="dm2028-1647"],.apb-options-col[data-frame="dm2028-1647"] .apb-floating-art img{border-style:solid!important;border-image:repeating-linear-gradient(90deg,#806629 0 3px,#d7bf70 3px 8px,#b79846 8px 12px,#ead68b 12px 15px) 10 round!important;}
.apb-canvas-wrap canvas[data-frame="am2034-x811"],.apb-options-col[data-frame="am2034-x811"] .apb-floating-art img{border-style:solid!important;border-image:repeating-linear-gradient(45deg,#4b3015 0 3px,#ad7d26 3px 6px,#f0d77a 6px 10px,#714617 10px 13px) 10 round!important;}

@media(max-width:900px){
  .apb-frame-sample:not([data-frame="none"]){width:94%;height:82px;}
}
html #app .apb-canvas-wrap canvas[data-frame]{border-width:11px!important;}
html #app .apb-canvas-wrap canvas[data-frame="none"]{border:11px solid transparent!important;outline:0!important;}

/* v0.8.3: clean two-piece molding chevrons, matching the supplied reference. */
html #app .apb-frame-sample:not([data-frame="none"]){
  --frame-texture:linear-gradient(90deg,#b78d38,#eed585 45%,#9b7025);
  --frame-edge:#755018;
  position:relative!important;width:94%!important;height:104px!important;
  display:block!important;overflow:visible!important;clip-path:none!important;
  border:0!important;background:none!important;filter:none!important;
}
html #app .apb-frame-sample:not([data-frame="none"])::before,
html #app .apb-frame-sample:not([data-frame="none"])::after{
  content:"";position:absolute;z-index:2;left:50%;top:7px;width:68%;height:27px;
  transform-origin:0 50%;background:var(--frame-texture);border:1px solid var(--frame-edge);
  box-shadow:0 6px 7px rgba(48,31,38,.22),inset 0 1px rgba(255,255,255,.32),inset 0 -2px rgba(29,18,12,.18);
}
html #app .apb-frame-sample:not([data-frame="none"])::before{transform:rotate(138deg);clip-path:polygon(0 0,100% 0,91% 100%,0 100%);}
html #app .apb-frame-sample:not([data-frame="none"])::after{transform:rotate(42deg);clip-path:polygon(0 0,100% 0,91% 100%,0 100%);}
html #app .apb-frame-sample[data-frame="am5624-x811"]{--frame-texture:repeating-linear-gradient(90deg,#372215 0 4px,#9c7129 4px 8px,#e4c668 8px 11px,#644018 11px 15px);--frame-edge:#3b2412;}
html #app .apb-frame-sample[data-frame="am2034-b186"]{--frame-texture:linear-gradient(90deg,#09090a 0%,#29282a 22%,#111113 52%,#383638 77%,#080809 100%);--frame-edge:#050506;}
html #app .apb-frame-sample[data-frame="dm2028-1112"]{--frame-texture:linear-gradient(90deg,#050506,#1a1a1c 38%,#303033 52%,#111113 72%,#050506);--frame-edge:#050506;}
html #app .apb-frame-sample[data-frame="dm2028-1647"]{--frame-texture:repeating-linear-gradient(86deg,#94772f 0 3px,#d9c274 3px 8px,#b69a4d 8px 11px,#ead993 11px 14px);--frame-edge:#836725;}
html #app .apb-frame-sample[data-frame="am2034-x811"]{--frame-texture:repeating-linear-gradient(90deg,#4b2d13 0 3px,#c29731 3px 6px,#f0d979 6px 10px,#775019 10px 13px);--frame-edge:#4c2f14;}
html #app .apb-frame-card.active .apb-frame-sample:not([data-frame="none"])::before,
html #app .apb-frame-card.active .apb-frame-sample:not([data-frame="none"])::after{box-shadow:0 7px 10px rgba(45,160,34,.28),inset 0 1px rgba(255,255,255,.35),inset 0 -2px rgba(29,18,12,.18);}
@media(max-width:900px){
  html #app .apb-frame-sample:not([data-frame="none"]){height:82px!important;}
  html #app .apb-frame-sample:not([data-frame="none"])::before,
  html #app .apb-frame-sample:not([data-frame="none"])::after{top:6px;width:66%;height:21px;}
}

/* v0.8.4: untouched catalogue images and borders built from their exact textures. */
html #app .apb-frame-card .apb-frame-sample:not([data-frame="none"]){
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;height:106px!important;padding:0!important;overflow:hidden!important;
  clip-path:none!important;border:1px solid #eee8ec!important;border-radius:8px!important;
  background:#fff!important;filter:none!important;
}
html #app .apb-frame-card .apb-frame-sample:not([data-frame="none"])::before,
html #app .apb-frame-card .apb-frame-sample:not([data-frame="none"])::after{content:none!important;display:none!important;}
html #app .apb-frame-card .apb-frame-sample:not([data-frame="none"]) .apb-molding-photo{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;background:#fff!important;outline:0!important;box-shadow:none!important;
}
html #app .apb-canvas-wrap canvas[data-frame]{box-sizing:border-box!important;}
html #app .apb-canvas-wrap canvas[data-frame="none"]{border:0!important;border-image:none!important;outline:0!important;box-shadow:0 8px 18px rgba(33,22,29,.25)!important;}
html #app .apb-canvas-wrap canvas[data-frame="am5624-x811"],html #app .apb-options-col[data-frame="am5624-x811"] .apb-floating-art img{border:16px solid transparent!important;border-image:url("../img/frames/frame-am5624-x811.svg") 30 stretch!important;outline:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="am2034-b186"],html #app .apb-options-col[data-frame="am2034-b186"] .apb-floating-art img{border:11px solid transparent!important;border-image:url("../img/frames/frame-am2034-b186.svg") 30 stretch!important;outline:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="dm2028-1112"],html #app .apb-options-col[data-frame="dm2028-1112"] .apb-floating-art img{border:10px solid transparent!important;border-image:url("../img/frames/frame-dm2028-1112.svg") 30 stretch!important;outline:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="dm2028-1647"],html #app .apb-options-col[data-frame="dm2028-1647"] .apb-floating-art img{border:10px solid transparent!important;border-image:url("../img/frames/frame-dm2028-1647.svg") 30 stretch!important;outline:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="am2034-x811"],html #app .apb-options-col[data-frame="am2034-x811"] .apb-floating-art img{border:11px solid transparent!important;border-image:url("../img/frames/frame-am2034-x811.svg") 30 stretch!important;outline:0!important;}
html #app .apb-options-col[data-frame="none"] .apb-floating-art img{border:0!important;border-image:none!important;outline:0!important;}
@media(max-width:900px){
  html #app .apb-frame-card .apb-frame-sample:not([data-frame="none"]){height:83px!important;}
}

/* v0.8.5: paint the entire border width with the original molding pixels. */
html #app .apb-canvas-wrap canvas[data-frame="am5624-x811"],html #app .apb-options-col[data-frame="am5624-x811"] .apb-floating-art img{border:19px solid #8d681f!important;border-image-source:url("../img/frames/texture-am5624-x811.jpg")!important;border-image-slice:34% 9%!important;border-image-width:1!important;border-image-repeat:round!important;border-image-outset:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="am2034-b186"],html #app .apb-options-col[data-frame="am2034-b186"] .apb-floating-art img{border:13px solid #3b2118!important;border-image-source:url("../img/frames/texture-am2034-b186.jpg")!important;border-image-slice:38% 8%!important;border-image-width:1!important;border-image-repeat:round!important;border-image-outset:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="am2034-x811"],html #app .apb-options-col[data-frame="am2034-x811"] .apb-floating-art img{border:13px solid #b68d2d!important;border-image-source:url("../img/frames/texture-am2034-x811.jpg")!important;border-image-slice:36% 8%!important;border-image-width:1!important;border-image-repeat:round!important;border-image-outset:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="dm2028-1647"],html #app .apb-options-col[data-frame="dm2028-1647"] .apb-floating-art img{border:12px solid #b69a4e!important;border-image-source:url("../img/frames/texture-dm2028-1647.jpg")!important;border-image-slice:38% 8%!important;border-image-width:1!important;border-image-repeat:round!important;border-image-outset:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="dm2028-1112"],html #app .apb-options-col[data-frame="dm2028-1112"] .apb-floating-art img{border:12px solid #161618!important;border-image-source:url("../img/frames/texture-dm2028-1112.jpg")!important;border-image-slice:38% 8%!important;border-image-width:1!important;border-image-repeat:round!important;border-image-outset:0!important;}
html #app .apb-canvas-wrap canvas[data-frame="none"],html #app .apb-options-col[data-frame="none"] .apb-floating-art img{border:0!important;border-image:none!important;outline:0!important;}

/* v0.8.6: four guaranteed-visible molding strips around the artwork. */
html #app .apb-canvas-wrap{position:relative!important;}
html #app .apb-canvas-wrap canvas[data-frame],html #app .apb-options-col[data-frame] .apb-floating-art img{border:0!important;border-image:none!important;outline:0!important;box-sizing:border-box!important;}
.apb-canvas-frame-host{position:absolute;z-index:8;display:block;pointer-events:none;overflow:visible;}
.apb-real-frame{position:absolute;z-index:8;left:0;top:0;display:block;pointer-events:none;overflow:visible;}
.apb-real-frame[data-frame="none"]{display:none!important;}
.apb-real-frame i{position:absolute;display:block;background-image:var(--frame-texture);background-repeat:repeat-x;background-size:auto 100%;background-position:center;box-shadow:0 4px 8px rgba(34,24,28,.22),inset 0 1px rgba(255,255,255,.2);}
.apb-real-frame .top{left:calc(var(--frame-t) * -1);top:calc(var(--frame-t) * -1);width:calc(var(--frame-w) + var(--frame-t) * 2);height:var(--frame-t);}
.apb-real-frame .bottom{left:calc(var(--frame-t) * -1);top:var(--frame-h);width:calc(var(--frame-w) + var(--frame-t) * 2);height:var(--frame-t);transform:rotate(180deg);}
.apb-real-frame .left{left:calc(var(--frame-t) * -1);top:var(--frame-h);width:var(--frame-h);height:var(--frame-t);transform:rotate(-90deg);transform-origin:0 0;}
.apb-real-frame .right{left:calc(var(--frame-w) + var(--frame-t));top:0;width:var(--frame-h);height:var(--frame-t);transform:rotate(90deg);transform-origin:0 0;}
.apb-options-col .apb-floating-art{position:relative!important;overflow:visible!important;}
.apb-final-real-frame{z-index:9;}

/* v0.8.7: one continuous board per side, with 45-degree inner joints. */
.apb-real-frame i{background-repeat:no-repeat!important;background-size:103% 100%!important;background-position:center!important;clip-path:polygon(0 0,100% 0,calc(100% - var(--frame-t)) 100%,var(--frame-t) 100%);}
.apb-real-frame[data-frame="am2034-b186"] i{background-size:116% 100%!important;}

/* v0.8.8: overlap the four boards at corners—no transparent wedges. */
.apb-real-frame i{clip-path:none!important;}
.apb-real-frame[data-frame="am5624-x811"] i{box-shadow:0 6px 12px rgba(43,29,20,.28),inset 0 1px rgba(255,255,255,.22),inset 0 -2px rgba(35,21,12,.2);}

/* Correct 45-degree geometry: vertical boards extend through both outer corners. */
.apb-real-frame i{clip-path:polygon(0 0,100% 0,calc(100% - var(--frame-t)) 100%,var(--frame-t) 100%)!important;}
.apb-real-frame .left{left:calc(var(--frame-t) * -1);top:calc(var(--frame-h) + var(--frame-t));width:calc(var(--frame-h) + var(--frame-t) * 2);height:var(--frame-t);transform:rotate(-90deg);transform-origin:0 0;}
.apb-real-frame .right{left:calc(var(--frame-w) + var(--frame-t));top:calc(var(--frame-t) * -1);width:calc(var(--frame-h) + var(--frame-t) * 2);height:var(--frame-t);transform:rotate(90deg);transform-origin:0 0;}

/* v0.8.9: preserve the real ornament proportions of the 56 mm profile. */
.apb-real-frame[data-frame="am5624-x811"] i{background-size:auto 100%!important;background-repeat:repeat-x!important;background-position:center!important;}

/* v0.9.0: pixel-aligned frame renderer replaces transformed DOM strips. */
.apb-frame-render{position:absolute;z-index:12;display:none;pointer-events:none;max-width:none!important;max-height:none!important;}
.apb-real-frame.canvas-ready .apb-frame-render{display:block;}
.apb-real-frame.canvas-ready i{display:none!important;}
.apb-real-frame[data-frame="none"] .apb-frame-render{display:none!important;}

/* v0.9.2: isolate the overlay canvas from all artwork-canvas rules. */
html #app .apb-canvas-wrap canvas.apb-frame-render,html #app canvas.apb-frame-render{
  position:absolute!important;display:none!important;margin:0!important;padding:0!important;
  max-width:none!important;max-height:none!important;border:0!important;outline:0!important;
  background:transparent!important;box-shadow:none!important;transform:none!important;animation:none!important;
  cursor:default!important;touch-action:none!important;opacity:1!important;visibility:visible!important;
}
html #app .apb-real-frame.canvas-ready canvas.apb-frame-render{display:block!important;}
html #app .apb-real-frame[data-frame="none"] canvas.apb-frame-render{display:none!important;}

/* v0.9.3: one physical texture image per board; no tiles or overlay canvas. */
html #app .apb-frame-render{display:none!important;}
html #app .apb-real-frame i,html #app .apb-real-frame.canvas-ready i{
  display:block!important;overflow:hidden!important;background:none!important;background-image:none!important;
  box-sizing:border-box!important;border:0!important;margin:0!important;padding:0!important;
}
html #app .apb-real-frame i img{
  display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;border:0!important;object-fit:fill!important;box-shadow:none!important;transform:none!important;
}

/* v0.9.4: the plain natural profile uses solid overlap joints without white wedges. */
html #app .apb-real-frame[data-frame="am2034-b186"] i{
  clip-path:polygon(0 0,100% 0,calc(100% - var(--frame-t)) 100%,var(--frame-t) 100%)!important;
  background-size:100% 100%!important;background-repeat:no-repeat!important;
}

/* v0.9.5: clean 45-degree mitres for the light wooden profile. */
html #app .apb-real-frame[data-frame="dm2028-1647"] i{
  clip-path:polygon(0 0,100% 0,calc(100% - var(--frame-t)) 100%,var(--frame-t) 100%)!important;
  background-size:100% 100%!important;background-repeat:no-repeat!important;
}

/* Keep the final framed artwork below the header and leave a clear gap before benefits. */
@media(max-width:900px){
  html #app .apb-work.apb-is-final .apb-final-flat{
    padding-top:64px!important;gap:0!important;overflow:visible!important;
  }
  html #app .apb-work.apb-is-final .apb-floating-art{
    margin:0 auto 62px!important;max-width:75vw!important;max-height:37.5svh!important;
  }
  html #app .apb-work.apb-is-final .apb-final-flat ul{
    position:relative!important;z-index:20!important;margin:0!important;padding:0 12px!important;
  }
}
@media(max-width:390px){
  html #app .apb-work.apb-is-final .apb-final-flat{padding-top:55px!important;}
  html #app .apb-work.apb-is-final .apb-floating-art{margin-bottom:55px!important;max-width:73vw!important;max-height:35svh!important;}
}
@media(max-width:390px){.apb-canvas-col{height:43dvh!important;min-height:230px!important}.apb-size{height:122px!important}.apb-size img{width:70px!important;height:74px!important}.apb-size span{font-size:18px!important}.apb-style{height:108px!important}.apb-style img{height:80px!important}.apb-radio{height:50px!important;font-size:18px!important}.apb-quality{height:175px!important}.apb-quality img{height:90px!important}.apb-quality span{font-size:16px!important}.apb-format-btn{width:48px!important;height:48px!important;flex-basis:48px!important}}

/* v0.2.8: style reset bug + tighter mobile based on reference screenshots */
.apb-line span{background:linear-gradient(90deg,#9f2d76 0%,#c45494 40%,#f094c8 55%,#b13f83 100%);background-size:260% 100%;animation:apbSoftProgress 2.4s ease-in-out infinite;position:relative;overflow:hidden}
.apb-line span:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.34) 45%,transparent 62%);transform:translateX(-110%);animation:apbProgressGlow 2.1s ease-in-out infinite}
@keyframes apbSoftProgress{0%,100%{background-position:0 0}50%{background-position:100% 0}}
@keyframes apbProgressGlow{0%,45%{transform:translateX(-110%)}100%{transform:translateX(120%)}}

@media(max-width:900px){
  html,body{height:100%;max-height:100%;overflow:hidden!important;background:#fff!important;overscroll-behavior:none!important}
  .apb-old{height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow:hidden!important;background:#fff!important}
  .apb-head{height:58px!important;padding:0 26px!important;font-size:19px!important;border-bottom:1px solid #eee!important;background:#fff!important}
  .apb-chat{width:30px!important;height:30px!important;font-size:0!important;position:relative!important}
  .apb-chat:before{content:"";width:16px;height:13px;border:2px solid #b45088;border-radius:7px;display:block}.apb-chat:after{content:"";position:absolute;right:7px;bottom:6px;width:6px;height:6px;border-left:2px solid #b45088;border-bottom:2px solid #b45088;transform:rotate(-35deg)}
  .apb-main{height:calc(100dvh - 58px)!important;display:block!important;overflow:hidden!important}
  .apb-work{height:calc(100dvh - 58px)!important;padding:0 0 78px!important;overflow:hidden!important;background:#fff!important}
  .apb-work h1{display:none!important}.apb-side{display:none!important}.apb-work:after{display:none!important}
  .apb-stage{height:100%!important;display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important}
  .apb-canvas-col{height:40dvh!important;min-height:238px!important;max-height:326px!important;flex:0 0 auto!important;padding:10px 0 2px!important;justify-content:center!important;overflow:visible!important}
  .apb-canvas-wrap{height:calc(100% - 18px)!important;min-height:0!important;max-height:none!important;align-items:center!important;justify-content:center!important;overflow:visible!important}
  .apb-canvas-wrap canvas{max-width:76vw!important;max-height:100%!important;box-shadow:0 0 14px rgba(0,0,0,.55)!important;transform:none!important;animation:none!important;touch-action:none!important}
  #apb-zoom{height:14px!important;margin:3px auto 0!important;max-width:75vw!important;width:75vw!important;display:block!important}
  .apb-options-col{flex:1 1 auto!important;min-height:0!important;height:auto!important;overflow:hidden!important;padding:6px 12px 0!important;background:#fff!important}
  .apb-first-row{height:100%!important;display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important}
  .apb-iconbar{height:56px!important;flex:0 0 56px!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:18px!important;margin:0 0 6px!important;width:100%!important;overflow:visible!important;padding:0!important}
  .apb-format-btn{width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:50%!important;background:#dd72ad!important;color:#fff!important;box-shadow:0 3px 10px rgba(176,58,132,.16)!important;animation:none!important}
  .apb-format-btn.active{background:#aa3a82!important;box-shadow:0 5px 12px rgba(170,58,130,.28)!important}
  .apb-format-btn:hover,.apb-size:hover,.apb-style:hover,.apb-quality:hover{transform:none!important}
  .apb-size-area{height:calc(100% - 62px)!important;min-height:0!important;display:block!important;overflow:hidden!important}.apb-orient-title{display:none!important}
  .apb-size-grid{height:100%!important;display:grid!important;grid-template-columns:repeat(3,calc((100vw - 34px)/3))!important;grid-auto-columns:calc((100vw - 34px)/3)!important;grid-template-rows:minmax(118px,1fr)!important;grid-auto-flow:column!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -12px!important;padding:2px 14px 8px!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important}
  .apb-size{height:100%!important;max-height:145px!important;min-height:118px!important;width:auto!important;padding:4px!important;border-radius:6px!important;scroll-snap-align:start!important;animation:none!important;box-shadow:0 1px 4px rgba(0,0,0,.18)!important}
  .apb-size img{width:72px!important;height:74px!important;margin:0 auto 2px!important;object-fit:contain!important}.apb-size span{font-size:19px!important;line-height:1.05!important}
  .apb-style-grid{height:100%!important;display:grid!important;grid-template-columns:repeat(3,calc((100vw - 34px)/3))!important;grid-auto-columns:calc((100vw - 34px)/3)!important;grid-template-rows:minmax(102px,116px)!important;grid-auto-flow:column!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -12px!important;padding:2px 14px 8px!important;-webkit-overflow-scrolling:touch!important}.apb-subtitle{display:none!important}
  .apb-style{height:112px!important;min-height:102px!important;width:auto!important;border-radius:5px!important;animation:none!important;box-shadow:0 1px 4px rgba(0,0,0,.16)!important}.apb-style img{height:84px!important}.apb-style span{height:28px!important;line-height:14px!important;font-size:12px!important;white-space:normal!important;padding:0 2px!important}
  .apb-radio-list{height:100%!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:12px!important;padding:8px 8px 0!important;overflow:hidden!important}.apb-radio{height:52px!important;min-height:52px!important;margin:0!important;font-size:20px!important;padding:0 82px 0 58px!important;border-radius:6px!important;animation:none!important;box-shadow:none!important}.apb-radio i{left:17px!important;width:24px!important;height:24px!important}.apb-radio.active i{border-width:5px!important}.apb-radio b{right:20px!important;font-size:15px!important;padding:5px 8px!important}
  .apb-quality-title{display:none!important}.apb-quality-grid{height:100%!important;display:grid!important;grid-template-columns:repeat(2,calc((100vw - 34px)/2))!important;grid-auto-columns:calc((100vw - 34px)/2)!important;grid-auto-flow:column!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -12px!important;padding:4px 14px 8px!important;-webkit-overflow-scrolling:touch!important}.apb-quality{height:176px!important;width:auto!important;animation:none!important}.apb-quality img{height:88px!important}.apb-quality span{min-height:88px!important;font-size:16px!important;padding:8px 4px!important}.apb-quality u{width:34px!important;height:34px!important;line-height:34px!important;font-size:23px!important;top:-12px!important;left:50%!important;transform:translateX(-50%)!important}
  .apb-final{height:100%!important;display:block!important;padding:6px 12px 0!important;overflow:hidden!important}.apb-final ul{width:100%!important}.apb-final li{font-size:16px!important;margin:7px 0!important;padding:10px 8px!important;border-radius:22px!important}.apb-stars{display:none!important}
  .apb-bottom{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:78px!important;background:#fff!important;padding:7px 14px!important;box-shadow:0 -3px 14px rgba(0,0,0,.08)!important;z-index:40!important;display:block!important}.apb-done{display:none!important}.apb-line{position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:7px!important;border-radius:0!important}.apb-line span{border-radius:0!important}.apb-line span:after{display:none!important}.apb-actions{position:absolute!important;right:14px!important;bottom:13px!important;display:flex!important;gap:10px!important}.apb-actions #apb-next{height:50px!important;min-width:112px!important;border-radius:25px!important;font-size:20px!important}.apb-actions #apb-prev{width:50px!important;height:50px!important;font-size:32px!important}.apb-actions small{display:none!important}
}
@media(max-width:390px){
  .apb-head{height:54px!important;font-size:18px!important}.apb-main{height:calc(100dvh - 54px)!important}.apb-work{height:calc(100dvh - 54px)!important}.apb-canvas-col{height:38dvh!important;min-height:220px!important;max-height:300px!important}.apb-format-btn{width:48px!important;height:48px!important;flex-basis:48px!important}.apb-iconbar{height:52px!important;flex-basis:52px!important}.apb-size-grid{grid-template-rows:minmax(108px,1fr)!important}.apb-size{max-height:128px!important;min-height:108px!important}.apb-size img{width:64px!important;height:66px!important}.apb-size span{font-size:17px!important}.apb-style-grid{grid-template-rows:minmax(96px,108px)!important}.apb-style{height:104px!important}.apb-style img{height:76px!important}.apb-radio{height:48px!important;min-height:48px!important;font-size:18px!important}.apb-quality{height:158px!important}.apb-quality img{height:78px!important}.apb-quality span{font-size:15px!important}.apb-final li{font-size:15px!important;padding:8px!important}.apb-bottom{height:74px!important}.apb-actions #apb-next{height:48px!important;min-width:106px!important;font-size:18px!important}.apb-actions #apb-prev{width:48px!important;height:48px!important}
}

/* v0.6.0: edge-to-edge option artwork and touch-controlled 3D product preview. */
@media(max-width:900px){
  .apb-style img,.apb-quality img{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
    padding:0!important;object-fit:cover!important;object-position:center!important;background:#f5f1f4!important;
  }
  .apb-style span,.apb-quality span{
    position:absolute!important;z-index:2!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;height:27px!important;min-height:27px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.87),#fff)!important;
    box-shadow:0 -4px 12px rgba(31,18,27,.08)!important;
  }
  .apb-style.active span,.apb-quality.active span{background:linear-gradient(135deg,#40df2a,#24c914)!important;color:#fff!important;}
  .apb-work.apb-is-final .apb-canvas-col{display:none!important;}
  .apb-work.apb-is-final .apb-options-col{height:100%!important;padding:4px 8px 0!important;overflow:visible!important;}
}

.apb-final{padding-top:4px;align-items:flex-start;justify-content:center;gap:22px;}
.apb-3d-area{min-width:290px;text-align:center;user-select:none;-webkit-user-select:none;}
.apb-3d-scene{height:285px;display:flex;align-items:center;justify-content:center;perspective:850px;cursor:grab;touch-action:none;overflow:visible;}
.apb-3d-scene.dragging{cursor:grabbing;}
.apb-3d-object{position:relative;width:var(--model-w);height:var(--model-h);transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 18px 16px rgba(43,25,37,.25));}
.apb-3d-scene.dragging .apb-3d-object{transition:none;}
.apb-face{position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden;}
.apb-face-front,.apb-face-back{inset:0;width:var(--model-w);height:var(--model-h);}
.apb-face-front{transform:translateZ(12px);background-image:var(--art);background-size:cover;background-position:center;border-radius:2px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.24);}
.apb-face-front:after{content:"";position:absolute;inset:0;background:linear-gradient(112deg,rgba(255,255,255,.16),transparent 25%,transparent 72%,rgba(255,255,255,.09));mix-blend-mode:screen;pointer-events:none;}
.apb-face-back{transform:rotateY(180deg) translateZ(12px);background:#e9dfce;border:5px solid #f5eee2;box-shadow:inset 0 0 18px rgba(71,46,24,.16);}
.apb-stretcher{position:absolute;inset:12px;border:9px solid #b87a3f;background:linear-gradient(45deg,transparent 48%,#b87a3f 48%,#b87a3f 52%,transparent 52%),linear-gradient(-45deg,transparent 48%,#b87a3f 48%,#b87a3f 52%,transparent 52%);box-shadow:inset 0 0 0 2px #dca76d,0 0 0 1px #8f5a2c;}
.apb-stretcher i{position:absolute;left:50%;top:-8px;bottom:-8px;width:8px;transform:translateX(-50%);background:linear-gradient(90deg,#8d5528,#d9a568,#8d5528);}
.apb-hanger{position:absolute;left:50%;top:16%;width:58px;height:25px;transform:translateX(-50%);border:4px solid #6e7074;border-bottom:0;border-radius:30px 30px 0 0;filter:drop-shadow(0 2px 1px rgba(0,0,0,.25));}
.apb-hanger:before,.apb-hanger:after{content:"";position:absolute;top:12px;width:8px;height:8px;border-radius:50%;background:#555;box-shadow:inset 0 0 0 2px #aeb0b3;}
.apb-hanger:before{left:-6px}.apb-hanger:after{right:-6px}
.apb-face-left,.apb-face-right{top:0;width:24px;height:var(--model-h);background:linear-gradient(90deg,#76502d,#c5915a 35%,#8b6037);}
.apb-face-left{left:-12px;transform:rotateY(-90deg) translateZ(calc(var(--model-w) / 2));}
.apb-face-right{right:-12px;transform:rotateY(90deg) translateZ(calc(var(--model-w) / 2));}
.apb-face-top,.apb-face-bottom{left:0;width:var(--model-w);height:24px;background:linear-gradient(#d9ad78,#8a5a31);}
.apb-face-top{top:-12px;transform:rotateX(90deg) translateZ(calc(var(--model-h) / 2));}
.apb-face-bottom{bottom:-12px;transform:rotateX(-90deg) translateZ(calc(var(--model-h) / 2));}
.apb-3d-hint{margin:-2px auto 8px;color:#776572;font-size:13px;font-weight:700;}
.apb-3d-hint span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:4px;border-radius:50%;background:#f6e7f0;color:#c33b8c;font-size:18px;animation:apbHintMove 1.8s ease-in-out infinite;}
.apb-3d-back{border:0;border-radius:18px;padding:8px 15px;background:linear-gradient(135deg,#c13c8e,#e06caf);color:#fff;font:700 12px Gilroy,Arial,sans-serif;box-shadow:0 6px 15px rgba(189,51,135,.2);cursor:pointer;}
@keyframes apbHintMove{0%,100%{transform:translateX(-3px)}50%{transform:translateX(3px)}}

@media(max-width:900px){
  .apb-final{height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:3px!important;padding:0!important;background:radial-gradient(circle at 50% 38%,#fff 0,#fbf5f9 62%,#f5edf3 100%)!important;overflow:hidden!important;}
  .apb-3d-area{width:100%;min-width:0;}
  .apb-3d-scene{height:min(42svh,315px);min-height:238px;}
  .apb-final ul{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;width:100%!important;padding:0 7px!important;margin:0!important;}
  .apb-final li{display:flex;align-items:center;justify-content:center;min-height:38px!important;margin:0!important;padding:6px!important;font-size:12.5px!important;line-height:1.05!important;background:rgba(255,255,255,.88)!important;box-shadow:0 3px 10px rgba(80,49,70,.07)!important;}
}
@media(max-width:390px){
  .apb-3d-scene{height:min(39svh,275px);min-height:218px;transform:scale(.92);margin:-7px 0;}
  .apb-3d-hint{font-size:12px;margin-top:-5px;}
}

/* v0.2.9 MOBILE POLISH: separate compact mobile UI */
@media (max-width: 900px){
  *{box-sizing:border-box!important}
  html,body{margin:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#fff!important;overscroll-behavior:none!important;font-family:'Gilroy','Poppins',Arial,sans-serif!important}
  .apb-old{height:100svh!important;min-height:100svh!important;max-height:100svh!important;overflow:hidden!important;background:#fff!important;color:#111!important}
  .apb-head{height:58px!important;padding:0 22px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;font-size:18px!important;font-weight:700!important;line-height:1!important;border-bottom:1px solid #ececec!important;background:#fff!important;z-index:20!important}
  .apb-chat{width:31px!important;height:31px!important;border:0!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;color:#b14c86!important;background:transparent!important}
  .apb-main{display:block!important;height:calc(100svh - 58px)!important;overflow:hidden!important;background:#fff!important}
  .apb-work{height:calc(100svh - 58px)!important;min-height:0!important;overflow:hidden!important;padding:0 0 78px!important;background:#fff!important;position:relative!important}
  .apb-work h1,.apb-side,.apb-work:after{display:none!important}
  .apb-stage{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;gap:0!important;overflow:hidden!important;background:#fff!important}

  /* preview */
  .apb-canvas-col{height:36svh!important;min-height:210px!important;max-height:270px!important;flex:0 0 auto!important;padding:12px 0 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:visible!important;background:#fff!important}
  .apb-canvas-wrap{height:calc(100% - 22px)!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;margin:0!important;padding:0!important;background:transparent!important}
  .apb-canvas-wrap canvas{display:block!important;margin:0 auto!important;max-width:70vw!important;max-height:100%!important;box-shadow:0 4px 17px rgba(0,0,0,.45)!important;border:0!important;background:#fff!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;animation:none!important;transform:none!important}
  .apb-upload-cover{border:0!important;background:rgba(255,255,255,.86)!important}
  #apb-zoom{width:72vw!important;max-width:360px!important;height:12px!important;margin:5px auto 0!important;display:block!important;accent-color:#c75594!important;flex:0 0 12px!important}

  /* options area */
  .apb-options-col{height:calc(100% - 36svh)!important;min-height:0!important;flex:1 1 auto!important;overflow:hidden!important;padding:8px 14px 0!important;background:#fff!important;display:block!important}
  .apb-options-col h2,.apb-subtitle,.apb-orient-title,.apb-quality-title{display:none!important}

  /* first screen: format icons + size carousel */
  .apb-first-row{height:100%!important;display:flex!important;flex-direction:column!important;gap:7px!important;overflow:hidden!important;padding:0!important}
  .apb-iconbar{height:50px!important;flex:0 0 50px!important;width:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:16px!important;margin:0!important;padding:0!important;overflow:visible!important}
  .apb-format-btn{width:48px!important;height:48px!important;flex:0 0 48px!important;border-radius:50%!important;border:0!important;background:#d96daa!important;color:#fff!important;box-shadow:0 3px 8px rgba(163,53,125,.16)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important;transition:transform .18s ease, background .18s ease!important}
  .apb-format-btn.active{background:#a83b81!important;box-shadow:0 4px 10px rgba(168,59,129,.28)!important}
  .apb-format-btn:active{transform:scale(.96)!important}
  .apb-format-btn em{display:none!important}
  .apb-easel{width:25px!important;height:31px!important;display:block!important;position:relative!important;border:2px solid #fff!important;border-radius:2px!important}
  .apb-easel:before,.apb-easel:after{content:""!important;position:absolute!important;background:#fff!important;border-radius:2px!important}.apb-easel:before{width:2px!important;height:13px!important;left:11px!important;bottom:-15px!important}.apb-easel:after{width:30px!important;height:2px!important;left:-4px!important;bottom:-8px!important}.apb-easel i{display:none!important}.apb-easel-land{width:32px!important;height:23px!important}.apb-easel-square{width:27px!important;height:27px!important}.apb-upload-btn{font-size:0!important}.apb-upload-btn:before{content:"📷"!important;font-size:24px!important;line-height:1!important}
  .apb-size-area{height:calc(100% - 57px)!important;min-height:0!important;overflow:hidden!important;display:block!important}
  .apb-size-grid{height:100%!important;display:grid!important;grid-auto-flow:column!important;grid-template-columns:repeat(3,calc((100vw - 40px)/3))!important;grid-auto-columns:calc((100vw - 40px)/3)!important;grid-template-rows:128px!important;gap:7px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -14px!important;padding:2px 14px 8px!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;background:#fff!important}
  .apb-size{height:126px!important;min-height:126px!important;width:auto!important;border-radius:7px!important;border:1px solid #d7d7d7!important;background:#fff!important;box-shadow:0 1px 4px rgba(0,0,0,.18)!important;padding:5px 4px 7px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;scroll-snap-align:start!important;overflow:hidden!important;animation:none!important;transition:background .16s ease,border-color .16s ease!important}
  .apb-size.active{background:#25dc00!important;border-color:#25dc00!important;color:#fff!important}.apb-size img{width:62px!important;height:64px!important;object-fit:contain!important;margin:0 auto 6px!important;display:block!important}.apb-size span{font-size:17px!important;line-height:1!important;font-weight:500!important;white-space:nowrap!important}

  /* style carousel */
  .apb-style-grid{height:116px!important;min-height:116px!important;display:grid!important;grid-auto-flow:column!important;grid-template-columns:repeat(3,calc((100vw - 34px)/3))!important;grid-auto-columns:calc((100vw - 34px)/3)!important;grid-template-rows:106px!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -14px!important;padding:2px 14px 8px!important;-webkit-overflow-scrolling:touch!important;background:#fff!important;scroll-snap-type:x mandatory!important}
  .apb-style{height:104px!important;min-height:104px!important;width:auto!important;border-radius:5px!important;border:1px solid #d8d8d8!important;box-shadow:0 1px 4px rgba(0,0,0,.14)!important;background:#fff!important;overflow:hidden!important;animation:none!important;scroll-snap-align:start!important;display:block!important;position:relative!important}
  .apb-style img{height:76px!important;width:100%!important;object-fit:cover!important;display:block!important}.apb-style span{height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:13px!important;font-size:11.5px!important;font-weight:500!important;padding:0 2px!important;white-space:normal!important;background:rgba(255,255,255,.88)!important;color:#111!important}.apb-style.active span{background:#24d600!important;color:#fff!important}.apb-style.active{border-color:#24d600!important}

  /* radio screens */
  .apb-radio-list{height:100%!important;display:flex!important;flex-direction:column!important;gap:10px!important;justify-content:flex-start!important;padding:4px 6px 0!important;overflow:hidden!important;background:#fff!important}
  .apb-radio{height:54px!important;min-height:54px!important;width:100%!important;border-radius:7px!important;border:1px solid #eee!important;background:#fff!important;font-size:18px!important;font-weight:400!important;text-align:left!important;padding:0 86px 0 56px!important;position:relative!important;box-shadow:none!important;animation:none!important;color:#111!important;margin:0!important}
  .apb-radio.active{border-color:#f0b6d9!important;box-shadow:0 0 0 1px rgba(236,20,151,.16)!important}.apb-radio i{width:25px!important;height:25px!important;left:17px!important;top:50%!important;transform:translateY(-50%)!important;border-radius:50%!important;background:#f2f2f2!important;border:0!important;position:absolute!important}.apb-radio.active i{background:#fff!important;border:5px solid #ee1594!important}.apb-radio span{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.apb-radio b{right:17px!important;top:50%!important;transform:translateY(-50%) rotate(7deg)!important;background:#ffbf08!important;color:#fff!important;border-radius:5px!important;font-size:14px!important;line-height:1!important;padding:7px 8px!important;font-weight:700!important;position:absolute!important}

  /* quality */
  .apb-quality-grid{height:180px!important;display:grid!important;grid-auto-flow:column!important;grid-template-columns:repeat(2,calc((100vw - 42px)/2))!important;grid-auto-columns:calc((100vw - 42px)/2)!important;grid-template-rows:172px!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;margin:0 -14px!important;padding:4px 14px 8px!important;background:#fff!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x mandatory!important}.apb-quality{height:168px!important;width:auto!important;border-radius:3px!important;border:1px solid #cfcfcf!important;scroll-snap-align:start!important;animation:none!important;box-shadow:0 1px 4px rgba(0,0,0,.16)!important}.apb-quality img{height:82px!important;width:100%!important;object-fit:cover!important}.apb-quality span{min-height:84px!important;font-size:15px!important;line-height:1.12!important;padding:8px 4px!important}.apb-quality u{width:32px!important;height:32px!important;line-height:32px!important;top:-12px!important;left:50%!important;transform:translateX(-50%)!important;font-size:21px!important}

  /* final */
  .apb-final{height:100%!important;padding:4px 2px 0!important;overflow:hidden!important;background:#f0f0f0!important}.apb-final ul{width:100%!important;margin:0 auto!important;padding:0 4px!important}.apb-final li{font-size:14.5px!important;line-height:1.15!important;margin:7px 0!important;padding:9px 11px!important;border-radius:20px!important;background:#fff!important}.apb-stars{display:none!important}

  /* bottom fixed price/control panel */
  .apb-bottom{position:fixed!important;left:0!important;right:0!important;bottom:0!important;height:78px!important;background:rgba(255,255,255,.98)!important;padding:0!important;box-shadow:0 -3px 16px rgba(0,0,0,.08)!important;z-index:80!important;display:block!important;border-top:1px solid #eee!important}
  .apb-mobile-price{display:block!important;position:absolute!important;left:18px!important;top:9px!important;width:142px!important;height:58px!important;color:#303047!important;line-height:1!important}.apb-old-price{display:inline-block!important;font-size:16px!important;color:#8e8e98!important;text-decoration:line-through!important;margin-right:4px!important}.apb-sale-badge{display:inline-block!important;background:#ffca22!important;color:#fff!important;border-radius:4px!important;padding:4px 6px!important;font-size:14px!important;vertical-align:top!important}.apb-mobile-price strong{display:block!important;font-size:31px!important;line-height:.95!important;font-weight:800!important;letter-spacing:-.5px!important;color:#303047!important;margin-top:1px!important}
  .apb-done{display:none!important}.apb-line{position:absolute!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:7px!important;border-radius:0!important;background:#dadada!important;overflow:hidden!important}.apb-line span{height:100%!important;border-radius:0!important;background:repeating-linear-gradient(-45deg,#a7307a 0,#a7307a 7px,#c45796 7px,#c45796 14px)!important;background-size:28px 28px!important;animation:apbStripeMove .85s linear infinite!important;box-shadow:0 0 8px rgba(174,48,128,.35)!important}.apb-line span:before{display:none!important}@keyframes apbStripeMove{to{background-position:28px 0}}
  .apb-actions{position:absolute!important;right:14px!important;bottom:14px!important;display:flex!important;align-items:center!important;gap:9px!important}.apb-actions #apb-prev{width:48px!important;height:48px!important;border-radius:50%!important;border:1px solid #cfcfcf!important;background:#fff!important;color:#aaa!important;font-size:30px!important;line-height:1!important;box-shadow:none!important}.apb-actions #apb-next{height:48px!important;min-width:112px!important;border-radius:24px!important;background:#db70ab!important;color:#fff!important;font-size:20px!important;font-weight:700!important;box-shadow:0 4px 10px rgba(188,78,142,.25)!important;padding:0 18px!important}.apb-actions small{display:none!important}
}
@media (max-width:390px){
  .apb-head{height:54px!important;padding:0 20px!important;font-size:17px!important}.apb-main{height:calc(100svh - 54px)!important}.apb-work{height:calc(100svh - 54px)!important;padding-bottom:74px!important}.apb-canvas-col{height:34svh!important;min-height:190px!important;max-height:248px!important;padding-top:9px!important}.apb-canvas-wrap canvas{max-width:68vw!important}.apb-options-col{height:calc(100% - 34svh)!important;padding:6px 12px 0!important}.apb-iconbar{height:46px!important;flex-basis:46px!important;gap:14px!important}.apb-format-btn{width:44px!important;height:44px!important;flex-basis:44px!important}.apb-easel{transform:scale(.88)!important}.apb-size-area{height:calc(100% - 53px)!important}.apb-size-grid{grid-template-columns:repeat(3,calc((100vw - 34px)/3))!important;grid-auto-columns:calc((100vw - 34px)/3)!important;grid-template-rows:112px!important;gap:5px!important;margin:0 -12px!important;padding:2px 12px 7px!important}.apb-size{height:110px!important;min-height:110px!important;padding:4px!important}.apb-size img{width:56px!important;height:58px!important}.apb-size span{font-size:16px!important}.apb-style-grid{grid-template-columns:repeat(3,calc((100vw - 30px)/3))!important;grid-auto-columns:calc((100vw - 30px)/3)!important;grid-template-rows:96px!important;height:104px!important;min-height:104px!important;gap:5px!important;margin:0 -12px!important;padding:2px 12px 7px!important}.apb-style{height:94px!important;min-height:94px!important}.apb-style img{height:68px!important}.apb-style span{height:26px!important;font-size:10.5px!important;line-height:12px!important}.apb-radio-list{gap:9px!important;padding:3px 5px 0!important}.apb-radio{height:49px!important;min-height:49px!important;font-size:17px!important;padding-left:52px!important}.apb-radio b{font-size:13px!important}.apb-quality-grid{height:158px!important;grid-template-rows:150px!important}.apb-quality{height:148px!important}.apb-quality img{height:72px!important}.apb-quality span{min-height:74px!important;font-size:14px!important}.apb-final li{font-size:13.5px!important;padding:8px 10px!important;margin:6px 0!important}.apb-bottom{height:74px!important}.apb-mobile-price{left:16px!important;top:8px!important}.apb-old-price{font-size:14px!important}.apb-sale-badge{font-size:12px!important}.apb-mobile-price strong{font-size:28px!important}.apb-actions{right:12px!important;bottom:13px!important}.apb-actions #apb-next{height:46px!important;min-width:104px!important;font-size:18px!important}.apb-actions #apb-prev{width:46px!important;height:46px!important;font-size:28px!important}
}


/* v0.3.0 MOBILE REALIGN: centered, closer to original mobile builder */
@media (max-width: 900px){
  html, body { overflow:hidden!important; background:#fff!important; }
  .apb-old{ height:100svh!important; max-height:100svh!important; overflow:hidden!important; }
  .apb-head{ height:56px!important; padding:0 18px!important; font-size:17px!important; font-weight:700!important; }
  .apb-chat{ width:30px!important; height:30px!important; font-size:0!important; border:1px solid #bd5b91!important; border-radius:50%!important; }
  .apb-chat:before{ content:'◔'!important; font-size:20px!important; color:#b14c86!important; line-height:1!important; transform:rotate(-35deg)!important; }
  .apb-main{ height:calc(100svh - 56px)!important; overflow:hidden!important; }
  .apb-work{ height:calc(100svh - 56px)!important; padding:0 0 77px!important; overflow:hidden!important; }
  .apb-stage{ height:100%!important; display:flex!important; flex-direction:column!important; overflow:hidden!important; }

  .apb-canvas-col{ height:40svh!important; min-height:250px!important; max-height:330px!important; padding:12px 0 0!important; justify-content:flex-start!important; align-items:center!important; position:relative!important; top:auto!important; }
  .apb-canvas-wrap{ width:100%!important; height:calc(100% - 22px)!important; display:flex!important; align-items:center!important; justify-content:center!important; overflow:visible!important; }
  .apb-canvas-wrap canvas{ margin:0 auto!important; max-width:66vw!important; max-height:100%!important; box-shadow:0 4px 17px rgba(0,0,0,.43)!important; transform:none!important; }
  #apb-zoom{ width:72vw!important; max-width:380px!important; margin:4px auto 0!important; height:14px!important; accent-color:#c75c97!important; }

  .apb-options-col{ flex:1 1 auto!important; height:auto!important; min-height:0!important; overflow:hidden!important; padding:8px 0 0!important; display:flex!important; flex-direction:column!important; justify-content:flex-start!important; align-items:stretch!important; }
  .apb-first-row{ height:100%!important; display:flex!important; flex-direction:column!important; align-items:center!important; gap:7px!important; overflow:hidden!important; }
  .apb-iconbar{ height:54px!important; flex:0 0 54px!important; width:100%!important; display:flex!important; align-items:center!important; justify-content:center!important; gap:19px!important; margin:0 auto!important; padding:0!important; overflow:visible!important; }
  .apb-format-btn{ width:50px!important; height:50px!important; flex:0 0 50px!important; border-radius:50%!important; padding:0!important; }
  .apb-format-btn .apb-easel{ transform:scale(.82)!important; }
  .apb-upload-btn:before{ font-size:25px!important; }
  .apb-size-area{ width:100%!important; height:126px!important; flex:0 0 126px!important; min-height:0!important; overflow:visible!important; }
  .apb-size-grid{
    display:flex!important; flex-wrap:nowrap!important; width:100vw!important; max-width:100vw!important; height:126px!important;
    overflow-x:auto!important; overflow-y:hidden!important; gap:7px!important; margin:0!important; padding:3px 18px 10px!important;
    scroll-snap-type:x mandatory!important; -webkit-overflow-scrolling:touch!important; touch-action:pan-x!important; scrollbar-width:none!important;
  }
  .apb-size-grid::-webkit-scrollbar,.apb-style-grid::-webkit-scrollbar,.apb-quality-grid::-webkit-scrollbar{ display:none!important; }
  .apb-size{ flex:0 0 calc((100vw - 50px)/3)!important; width:calc((100vw - 50px)/3)!important; height:116px!important; min-height:116px!important; max-height:116px!important; border-radius:6px!important; padding:5px 3px!important; scroll-snap-align:start!important; }
  .apb-size img{ width:60px!important; height:62px!important; margin:2px auto 7px!important; }
  .apb-size span{ font-size:17px!important; line-height:1!important; font-weight:500!important; }

  .apb-style-grid{ display:flex!important; flex-wrap:nowrap!important; width:100vw!important; max-width:100vw!important; height:108px!important; min-height:108px!important; overflow-x:auto!important; overflow-y:hidden!important; gap:6px!important; margin:0!important; padding:2px 16px 9px!important; scroll-snap-type:x mandatory!important; -webkit-overflow-scrolling:touch!important; touch-action:pan-x!important; scrollbar-width:none!important; }
  .apb-style{ flex:0 0 calc((100vw - 44px)/3)!important; width:calc((100vw - 44px)/3)!important; height:98px!important; min-height:98px!important; max-height:98px!important; border-radius:5px!important; scroll-snap-align:start!important; }
  .apb-style img{ height:72px!important; }
  .apb-style span{ height:26px!important; line-height:12px!important; font-size:10.5px!important; padding:0 2px!important; }

  .apb-radio-list{ width:100%!important; max-width:100%!important; padding:4px 18px 0!important; gap:10px!important; align-items:stretch!important; }
  .apb-radio{ height:52px!important; min-height:52px!important; font-size:17px!important; border-radius:7px!important; padding-left:54px!important; }
  .apb-radio i{ left:18px!important; width:24px!important; height:24px!important; }
  .apb-radio b{ right:20px!important; font-size:13px!important; padding:6px 8px!important; }

  .apb-quality-grid{ display:flex!important; width:100vw!important; max-width:100vw!important; height:170px!important; overflow-x:auto!important; overflow-y:hidden!important; gap:8px!important; margin:0!important; padding:4px 18px 8px!important; scroll-snap-type:x mandatory!important; -webkit-overflow-scrolling:touch!important; touch-action:pan-x!important; scrollbar-width:none!important; }
  .apb-quality{ flex:0 0 calc((100vw - 50px)/2)!important; width:calc((100vw - 50px)/2)!important; height:160px!important; scroll-snap-align:start!important; }
  .apb-quality img{ height:78px!important; }
  .apb-quality span{ min-height:80px!important; font-size:14.5px!important; }
  .apb-final{ padding:6px 16px 0!important; }

  .apb-bottom{ height:77px!important; background:#fff!important; box-shadow:0 -4px 16px rgba(0,0,0,.08)!important; }
  .apb-mobile-price{ left:16px!important; top:10px!important; width:150px!important; }
  .apb-old-price{ font-size:14px!important; color:#888895!important; }
  .apb-sale-badge{ font-size:12px!important; padding:4px 7px!important; border-radius:5px!important; background:#ffc52b!important; }
  .apb-mobile-price strong{ font-size:28px!important; letter-spacing:-.4px!important; }
  .apb-actions{ right:14px!important; bottom:14px!important; gap:8px!important; }
  .apb-actions #apb-next{ height:48px!important; min-width:102px!important; border-radius:25px!important; font-size:18px!important; padding:0 16px!important; }
  .apb-actions #apb-prev{ width:48px!important; height:48px!important; font-size:28px!important; }
  .apb-line{ height:7px!important; }
}

@media (max-width: 390px){
  .apb-head{ height:54px!important; padding:0 18px!important; font-size:16px!important; }
  .apb-main{ height:calc(100svh - 54px)!important; }
  .apb-work{ height:calc(100svh - 54px)!important; padding-bottom:74px!important; }
  .apb-canvas-col{ height:39svh!important; min-height:232px!important; max-height:305px!important; padding-top:10px!important; }
  .apb-canvas-wrap canvas{ max-width:64vw!important; }
  #apb-zoom{ width:70vw!important; margin-top:3px!important; }
  .apb-options-col{ padding-top:6px!important; }
  .apb-iconbar{ height:50px!important; flex-basis:50px!important; gap:16px!important; }
  .apb-format-btn{ width:47px!important; height:47px!important; flex-basis:47px!important; }
  .apb-size-area{ height:120px!important; flex-basis:120px!important; }
  .apb-size-grid{ height:120px!important; padding-left:16px!important; padding-right:16px!important; gap:7px!important; }
  .apb-size{ flex-basis:calc((100vw - 46px)/3)!important; width:calc((100vw - 46px)/3)!important; height:110px!important; min-height:110px!important; max-height:110px!important; }
  .apb-size img{ width:55px!important; height:57px!important; margin-bottom:6px!important; }
  .apb-size span{ font-size:16px!important; }
  .apb-style-grid{ height:101px!important; min-height:101px!important; padding-left:14px!important; padding-right:14px!important; }
  .apb-style{ flex-basis:calc((100vw - 40px)/3)!important; width:calc((100vw - 40px)/3)!important; height:92px!important; min-height:92px!important; max-height:92px!important; }
  .apb-style img{ height:67px!important; }
  .apb-style span{ height:25px!important; font-size:9.8px!important; line-height:11px!important; }
  .apb-radio-list{ padding-left:16px!important; padding-right:16px!important; }
  .apb-radio{ height:49px!important; min-height:49px!important; font-size:16px!important; }
  .apb-bottom{ height:74px!important; }
  .apb-mobile-price strong{ font-size:27px!important; }
  .apb-actions #apb-next{ height:46px!important; min-width:98px!important; font-size:17px!important; }
  .apb-actions #apb-prev{ width:46px!important; height:46px!important; }
}

/* v0.3.1 mobile 90% polish + stronger centering */
@media (max-width: 900px){
  .apb-old,.apb-main,.apb-work{width:100vw!important; max-width:100vw!important; left:0!important; right:0!important; transform:none!important;}
  .apb-stage{width:100vw!important; max-width:100vw!important; margin:0!important; padding:0!important; align-items:center!important;}
  .apb-canvas-col{width:100vw!important; max-width:100vw!important; margin:0 auto!important; padding-left:0!important; padding-right:0!important; align-items:center!important; justify-content:flex-start!important;}
  .apb-canvas-wrap{width:100vw!important; max-width:100vw!important; margin:0 auto!important; padding:0!important; left:0!important; right:0!important; justify-content:center!important; align-items:center!important;}
  .apb-canvas-wrap canvas{display:block!important; margin-left:auto!important; margin-right:auto!important; position:relative!important; left:0!important; right:0!important; max-width:62vw!important; box-shadow:0 6px 18px rgba(0,0,0,.40)!important;}
  .apb-upload-cover{left:50%!important; transform:translateX(-50%)!important; width:min(62vw,270px)!important; height:330px!important; max-height:100%!important;}
  #apb-zoom{display:block!important; width:72vw!important; max-width:340px!important; margin:5px auto 0!important; padding:0!important;}
  .apb-options-col{width:100vw!important; max-width:100vw!important; margin:0!important; padding-left:0!important; padding-right:0!important; align-self:stretch!important;}
  .apb-first-row{width:100vw!important; max-width:100vw!important; align-items:center!important; margin:0!important;}
  .apb-iconbar{width:100vw!important; max-width:100vw!important; margin:0 auto!important; justify-content:center!important; gap:22px!important;}
  .apb-format-btn{box-shadow:0 6px 13px rgba(161,50,120,.20)!important;}
  .apb-format-btn.active{background:#a83483!important; box-shadow:0 6px 14px rgba(161,50,120,.35)!important;}
  .apb-size-area{width:100vw!important; max-width:100vw!important; overflow:hidden!important;}
  .apb-size-grid{width:100vw!important; max-width:100vw!important; box-sizing:border-box!important; padding-left:14px!important; padding-right:14px!important; gap:8px!important; overflow-x:auto!important; overflow-y:hidden!important; touch-action:pan-x!important; overscroll-behavior-x:contain!important;}
  .apb-size{flex:0 0 calc((100vw - 44px)/3)!important; width:calc((100vw - 44px)/3)!important; height:112px!important; min-height:112px!important; max-height:112px!important;}
  .apb-size img{width:54px!important; height:55px!important; margin-top:2px!important; margin-bottom:8px!important;}
  .apb-size span{font-size:16px!important; font-weight:600!important;}
  .apb-style-grid{width:100vw!important; max-width:100vw!important; padding-left:10px!important; padding-right:10px!important; gap:7px!important; overflow-x:auto!important; overflow-y:hidden!important; touch-action:pan-x!important; overscroll-behavior-x:contain!important;}
  .apb-style{flex:0 0 calc((100vw - 34px)/3)!important; width:calc((100vw - 34px)/3)!important; height:91px!important; min-height:91px!important; max-height:91px!important;}
  .apb-style img{height:65px!important;}
  .apb-style span{height:26px!important; font-size:10px!important; line-height:12px!important; white-space:normal!important;}
  .apb-radio-list{width:100vw!important; max-width:100vw!important; padding:0 18px!important; margin:0!important;}
  .apb-radio{font-size:16px!important; height:50px!important; min-height:50px!important;}
  .apb-quality-grid{width:100vw!important; max-width:100vw!important; padding-left:18px!important; padding-right:18px!important;}
  .apb-bottom{left:0!important; right:0!important; bottom:0!important; width:100vw!important; max-width:100vw!important; height:76px!important; border-top:1px solid rgba(0,0,0,.08)!important;}
  .apb-mobile-price{left:14px!important; top:9px!important; width:170px!important; display:block!important;}
  .apb-old-price{display:inline-block!important; font-size:13.5px!important; line-height:1!important; margin-right:5px!important; color:#8e8e99!important; text-decoration:line-through!important;}
  .apb-sale-badge{display:inline-block!important; font-size:12px!important; line-height:1!important; padding:4px 7px!important; vertical-align:top!important; margin-top:-2px!important;}
  .apb-mobile-price strong{display:block!important; font-size:26px!important; line-height:1.05!important; font-weight:900!important; margin-top:1px!important; color:#25263f!important; letter-spacing:-.6px!important;}
  .apb-actions{right:14px!important; bottom:13px!important;}
  .apb-actions #apb-next{height:48px!important; min-width:112px!important; font-size:17px!important; font-weight:700!important; box-shadow:0 5px 13px rgba(179,54,128,.28)!important;}
  .apb-actions #apb-prev{width:47px!important; height:47px!important;}
  .apb-line{left:0!important; right:0!important; bottom:0!important; width:100vw!important; height:7px!important; border-radius:0!important;}
  .apb-line span{border-radius:0!important; background:repeating-linear-gradient(135deg,#b43b84 0,#b43b84 8px,#c95e9b 8px,#c95e9b 16px)!important; background-size:24px 24px!important; animation:apbProgressFlow 1.2s linear infinite!important;}
  @keyframes apbProgressFlow{to{background-position:24px 0}}
}
@media (max-width: 390px){
  .apb-canvas-col{height:38svh!important; min-height:224px!important; max-height:292px!important;}
  .apb-canvas-wrap canvas{max-width:60vw!important;}
  .apb-iconbar{gap:18px!important; height:48px!important; flex-basis:48px!important;}
  .apb-format-btn{width:45px!important; height:45px!important; flex-basis:45px!important;}
  .apb-size{height:106px!important; min-height:106px!important; max-height:106px!important;}
  .apb-size img{width:50px!important;height:51px!important;}
  .apb-style{height:87px!important; min-height:87px!important; max-height:87px!important;}
  .apb-style img{height:62px!important;}
  .apb-mobile-price strong{font-size:25px!important;}
  .apb-actions #apb-next{min-width:104px!important;}
}

/* v0.3.2 fixes */
.apb-mobile-price{display:none}
.apb-size.active span{color:#fff!important}
.apb-actions small{top:58px!important;right:4px!important;width:auto!important;white-space:nowrap!important;line-height:1.1!important}
@media (max-width:900px){
  .apb-mobile-price{display:block!important}
  .apb-work{padding-top:0!important}
  .apb-stage{align-items:center!important}
  .apb-canvas-col{width:100vw!important;height:43svh!important;min-height:285px!important;max-height:355px!important;padding-top:12px!important;align-items:center!important;justify-content:flex-start!important}
  .apb-canvas-wrap{width:100vw!important;max-width:100vw!important;height:calc(100% - 30px)!important;display:flex!important;justify-content:center!important;align-items:center!important;margin:0 auto!important;overflow:visible!important}
  .apb-canvas-wrap canvas{max-width:none!important;max-height:none!important;width:auto;height:auto;display:block!important;margin:0 auto!important;left:auto!important;right:auto!important;object-fit:contain!important;box-shadow:0 6px 18px rgba(0,0,0,.42)!important}
  #apb-zoom{width:72vw!important;max-width:330px!important;margin:6px auto 0!important;display:block!important}
  .apb-options-col{width:100vw!important;padding:6px 0 0!important;overflow:hidden!important}
  .apb-iconbar{width:100vw!important;max-width:330px!important;height:58px!important;display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:16px!important;margin:0 auto 8px!important;flex:0 0 auto!important}
  .apb-format-btn{width:56px!important;height:56px!important;flex:0 0 56px!important;border-radius:50%!important;font-size:25px!important}
  .apb-format-btn .apb-easel{transform:scale(.98)!important}
  .apb-first-row{display:block!important;width:100vw!important;margin:0!important}
  .apb-size-area{width:100vw!important;height:124px!important;overflow:hidden!important}
  .apb-size-grid{display:flex!important;width:100vw!important;max-width:100vw!important;height:122px!important;padding:0 14px 8px!important;gap:8px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;overscroll-behavior-x:contain!important}
  .apb-size{flex:0 0 calc((100vw - 44px)/3)!important;width:calc((100vw - 44px)/3)!important;height:112px!important;min-height:112px!important;max-height:112px!important;border-radius:6px!important;padding:6px 3px!important;scroll-snap-align:start!important}
  .apb-size img{width:52px!important;height:54px!important;margin:2px auto 9px!important}
  .apb-size span{font-size:16px!important;line-height:1!important;font-weight:700!important}
  .apb-style-grid{display:flex!important;width:100vw!important;height:102px!important;padding:0 8px 8px!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x mandatory!important}
  .apb-style{flex:0 0 calc((100vw - 28px)/3)!important;width:calc((100vw - 28px)/3)!important;height:94px!important;min-height:94px!important;border-radius:4px!important;scroll-snap-align:start!important}
  .apb-style img{height:67px!important}
  .apb-style span{height:27px!important;line-height:13px!important;font-size:10.5px!important;padding:1px 2px!important;white-space:normal!important;display:flex!important;align-items:center!important;justify-content:center!important}
  .apb-bottom{height:76px!important}
  .apb-mobile-price{left:16px!important;top:9px!important;width:170px!important}
  .apb-mobile-price strong{font-size:28px!important;line-height:1!important}
  .apb-actions #apb-next{min-width:112px!important;height:48px!important;font-size:18px!important;border-radius:25px!important}
  .apb-actions #apb-prev{width:48px!important;height:48px!important;font-size:28px!important}
}
@media (max-width:390px){
  .apb-canvas-col{height:42svh!important;min-height:270px!important;max-height:335px!important}
  .apb-format-btn{width:54px!important;height:54px!important;flex-basis:54px!important}
  .apb-iconbar{gap:14px!important;margin-bottom:6px!important}
  .apb-size-area{height:120px!important}
  .apb-size-grid{height:118px!important;padding-left:12px!important;padding-right:12px!important;gap:7px!important}
  .apb-size{flex-basis:calc((100vw - 38px)/3)!important;width:calc((100vw - 38px)/3)!important;height:108px!important;min-height:108px!important;max-height:108px!important}
  .apb-size img{width:50px!important;height:52px!important;margin-bottom:7px!important}
  .apb-size span{font-size:15.5px!important}
}


/* v0.3.3 desktop enter hint + mobile size notes */
@media (min-width:901px){
  .apb-bottom{height:82px!important;bottom:10px!important;overflow:visible!important;}
  .apb-actions{bottom:12px!important;}
  .apb-actions small{display:block!important;position:absolute!important;top:54px!important;right:6px!important;width:145px!important;text-align:center!important;font-size:11px!important;line-height:1.15!important;color:#9f9f9f!important;white-space:nowrap!important;z-index:20!important;pointer-events:none!important;}
}
@media (max-width:900px){
  .apb-actions small{display:none!important;}
}

/* v0.3.4 mobile canvas + icons + price math UI polish */
@media (max-width:900px){
  .apb-canvas-col{height:48svh!important;min-height:335px!important;max-height:430px!important;padding-top:14px!important;}
  .apb-canvas-wrap{height:calc(100% - 32px)!important;}
  .apb-canvas-wrap canvas{max-width:82vw!important;max-height:100%!important;}
  #apb-zoom{width:74vw!important;max-width:360px!important;margin-top:8px!important;}
  .apb-iconbar{height:72px!important;max-width:380px!important;gap:20px!important;margin:0 auto 8px!important;}
  .apb-format-btn{width:66px!important;height:66px!important;flex:0 0 66px!important;}
  .apb-format-btn .apb-easel{transform:scale(1.18)!important;}
  .apb-size-area{height:150px!important;}
  .apb-size-grid{height:148px!important;padding:0 14px 10px!important;gap:8px!important;}
  .apb-size{height:138px!important;min-height:138px!important;max-height:138px!important;padding:6px 3px!important;}
  .apb-size img{width:78px!important;height:81px!important;margin:2px auto 10px!important;}
  .apb-size span{font-size:18px!important;}
  .apb-style-grid{display:grid!important;grid-auto-flow:column!important;grid-template-rows:96px 96px!important;grid-auto-columns:calc((100vw - 34px)/3)!important;width:100vw!important;height:204px!important;min-height:204px!important;overflow-x:auto!important;overflow-y:hidden!important;gap:6px!important;padding:2px 12px 10px!important;scroll-snap-type:x mandatory!important;-webkit-overflow-scrolling:touch!important;}
  .apb-style{width:calc((100vw - 34px)/3)!important;height:92px!important;min-height:92px!important;}
  .apb-style img{height:66px!important;}
  .apb-style span{height:26px!important;font-size:10.5px!important;line-height:12px!important;padding:1px 2px!important;}
}
@media (max-width:390px){
  .apb-canvas-col{height:47svh!important;min-height:320px!important;max-height:410px!important;}
  .apb-canvas-wrap canvas{max-width:80vw!important;}
  .apb-iconbar{height:68px!important;gap:16px!important;}
  .apb-format-btn{width:62px!important;height:62px!important;flex-basis:62px!important;}
  .apb-format-btn .apb-easel{transform:scale(1.1)!important;}
  .apb-size-area{height:143px!important;}
  .apb-size-grid{height:141px!important;}
  .apb-size{height:132px!important;min-height:132px!important;max-height:132px!important;}
  .apb-size img{width:74px!important;height:77px!important;}
  .apb-size span{font-size:17px!important;}
  .apb-style-grid{grid-template-rows:91px 91px!important;height:194px!important;min-height:194px!important;}
  .apb-style{height:87px!important;min-height:87px!important;}
  .apb-style img{height:62px!important;}
}

/* v0.3.5 targeted fixes */
.apb-old #apb-zoom.locked{opacity:.35; pointer-events:none;}
.apb-canvas-wrap canvas{touch-action:none;}

/* v0.3.6 focused patch: user icons, mobile floating upload, safer cover crop */
.apb-chat{border:0!important;background:transparent!important;width:34px!important;height:34px!important;padding:0!important;overflow:hidden!important}
.apb-chat img{width:100%!important;height:100%!important;display:block!important;object-fit:contain!important}
.apb-format-btn .apb-format-img{width:72%!important;height:72%!important;object-fit:contain!important;display:block!important;filter:none!important}
.apb-upload-floating{display:none;position:absolute;z-index:8;right:calc(50% - 170px);top:0;width:58px;height:58px;border-radius:50%;background:#db72ae;color:#fff;align-items:center;justify-content:center;box-shadow:0 5px 14px rgba(170,58,130,.22);cursor:pointer}
.apb-upload-floating input{display:none}.apb-upload-floating span{font-size:27px;line-height:1}
@media(max-width:900px){
  .apb-upload-floating.active{display:flex!important}
  .apb-upload-btn{display:none!important}
  .apb-iconbar{justify-content:center!important;overflow:visible!important}
  .apb-format-btn .apb-format-img{width:76%!important;height:76%!important}
  .apb-upload-floating{right:10vw!important;top:4px!important;width:58px!important;height:58px!important}
  .apb-canvas-wrap canvas{background:transparent!important}
}
@media(max-width:420px){
  .apb-upload-floating{right:7vw!important;width:54px!important;height:54px!important}
}


/* v0.3.7 focused fixes: correct mobile icons mapping, no horizontal white strips, desktop price + Enter hint */
.apb-side-price-values{display:flex;flex-direction:column;align-items:flex-end;line-height:1.05}
.apb-side-price-values del{font-size:14px;color:#6e6e80;text-decoration:line-through;margin-bottom:2px;opacity:.9}
.apb-side-price-values b{font-size:24px;font-weight:900;color:#18234b}
@media (min-width:901px){
  .apb-actions small{display:block!important;position:absolute!important;right:0!important;top:58px!important;width:134px!important;text-align:center!important;white-space:nowrap!important;line-height:1.1!important;font-size:12px!important;color:#a6a6a6!important;overflow:visible!important;}
  .apb-actions{overflow:visible!important;}
  .apb-bottom{overflow:visible!important;}
}
@media (max-width:900px){
  .apb-canvas-wrap canvas{background:#fff!important;}
  .apb-format-btn .apb-format-img{width:78%!important;height:78%!important;object-fit:contain!important;}
}


/* v0.3.8 targeted patch: chat icon + stronger landscape cover */
.apb-chat img{content:url('../img/chat.png?v=038')!important;}
@media(max-width:900px){
  .apb-canvas-wrap canvas{background:transparent!important;}
}


/* v0.3.9 exact targeted fixes */
.apb-chat img{content:none!important;width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;}
@media(max-width:900px){
  .apb-chat{width:38px!important;height:38px!important;border:0!important;background:transparent!important;}
  .apb-upload-floating.active{display:flex!important;}
  .apb-upload-floating{right:calc(50vw - 174px)!important;top:10px!important;width:58px!important;height:58px!important;background:#db72ae!important;}
  .apb-upload-floating span{font-size:25px!important;}
  .apb-canvas-wrap canvas{background:transparent!important;}
}
@media(max-width:420px){.apb-upload-floating{right:22px!important;top:8px!important;width:54px!important;height:54px!important;}}


/* v0.4.0 targeted cache-busted fixes */
.apb-chat:before,.apb-chat:after{content:none!important;display:none!important}
.apb-chat{border:0!important;background:transparent!important;overflow:hidden!important;padding:0!important}
.apb-chat img{content:url('../img/chat.png?v=040')!important;width:100%!important;height:100%!important;display:block!important;object-fit:contain!important}
.apb-canvas-wrap canvas{background:transparent!important}
@media(max-width:900px){
  .apb-upload-floating.active{display:flex!important;right:calc(50vw - 180px)!important;top:8px!important;width:56px!important;height:56px!important;background:#db72ae!important;border-radius:50%!important;z-index:20!important;align-items:center!important;justify-content:center!important}
  .apb-upload-floating span{font-size:0!important}
  .apb-upload-floating span:before{content:'📷'!important;font-size:27px!important;line-height:1!important;color:#fff!important}
}
@media(max-width:420px){.apb-upload-floating.active{right:18px!important;top:8px!important}}


/* v0.4.1 точечный фикс: фото без белых полос + крупнее картинки размеров */
.apb-canvas-wrap canvas{background:transparent!important;}
.apb-size img{transform:scale(1.12)!important;}
@media(max-width:900px){
  .apb-size img{width:86px!important;height:89px!important;max-width:90%!important;transform:none!important;}
}
@media(max-width:390px){
  .apb-size img{width:76px!important;height:79px!important;}
}


/* v0.4.2 targeted fixes: mobile camera, horizontal crop helper, stable size carousel */
@media(max-width:900px){
  .apb-upload-floating.active{display:flex!important;align-items:center!important;justify-content:center!important;background:#df78b3!important;border-radius:50%!important;box-shadow:0 8px 22px rgba(181,55,130,.35)!important;border:0!important;color:#fff!important;}
  .apb-upload-floating span{font-size:0!important;display:block!important;width:34px!important;height:26px!important;position:relative!important;}
  .apb-upload-floating span:before{content:""!important;position:absolute!important;left:0!important;top:5px!important;width:34px!important;height:23px!important;border:4px solid #fff!important;border-radius:7px!important;box-sizing:border-box!important;background:transparent!important;}
  .apb-upload-floating span:after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:10px!important;height:10px!important;border:4px solid #fff!important;border-radius:50%!important;transform:translate(-50%,-18%)!important;box-sizing:border-box!important;background:transparent!important;}
  .apb-size-grid{scroll-behavior:auto!important;overscroll-behavior-x:contain!important;}
}

/* v0.4.3 final targeted: radical landscape crop, camera icon, top badges */
.apb-chat img{content:url('../img/chat.png?v=043')!important;width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;}
.apb-top-badge{position:absolute;z-index:5;top:6px;right:6px;background:#ffcc23;color:#fff;font-weight:900;font-size:11px;line-height:1;text-transform:uppercase;border-radius:999px;padding:4px 7px;box-shadow:0 3px 8px rgba(0,0,0,.15);letter-spacing:.2px;pointer-events:none;}
.apb-size,.apb-style{position:relative!important;overflow:hidden!important;}
.apb-size.active .apb-top-badge,.apb-style.active .apb-top-badge{background:#ffcc23;color:#fff;}
.apb-upload-btn .apb-camera-img{width:70%!important;height:70%!important;object-fit:contain!important;}
@media(max-width:900px){
  .apb-upload-floating.active{display:flex!important;align-items:center!important;justify-content:center!important;background:#db72ae!important;border-radius:50%!important;box-shadow:0 8px 22px rgba(181,55,130,.35)!important;border:0!important;color:#fff!important;}
  .apb-upload-floating span{font-size:0!important;width:35px!important;height:35px!important;background:url('../img/icon-camera.png?v=043') center/contain no-repeat!important;display:block!important;}
  .apb-upload-floating span:before,.apb-upload-floating span:after{content:none!important;display:none!important;}
  .apb-top-badge{top:5px;right:5px;font-size:10px;padding:4px 6px;}
}


/* v0.4.4 focused: center TOP badges, camera icon style, faster thumbnails */
.apb-top-badge{
  left:50%!important;
  right:auto!important;
  top:5px!important;
  transform:translateX(-50%)!important;
  background:#ffc526!important;
  color:#fff!important;
  font-weight:900!important;
  font-size:11px!important;
  line-height:1!important;
  border-radius:999px!important;
  padding:4px 9px!important;
  text-align:center!important;
  min-width:36px!important;
  box-shadow:0 3px 8px rgba(0,0,0,.16)!important;
}
@media(max-width:900px){
  .apb-top-badge{font-size:10px!important;top:4px!important;padding:4px 8px!important;}
  .apb-upload-floating.active{background:#db72ae!important;border-radius:50%!important;box-shadow:0 8px 22px rgba(181,55,130,.35)!important;}
  .apb-upload-floating span{font-size:0!important;width:38px!important;height:38px!important;background:url('../img/icon-camera.png?v=044') center/contain no-repeat!important;display:block!important;}
  .apb-upload-floating span:before,.apb-upload-floating span:after{content:none!important;display:none!important;}
}

/* v0.4.6: keep the canvas opaque while the cover image is redrawn. */
.apb-canvas-wrap canvas{background:#fff!important;}

/* Exact mobile canvas sizing from the verified v0.5.2 build. */
@media (max-width:900px){
  .apb-canvas-col{height:56svh!important;min-height:360px!important;max-height:540px!important;padding-top:8px!important;}
  .apb-canvas-wrap{height:calc(100% - 14px)!important;width:100vw!important;max-width:100vw!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;}
  .apb-canvas-wrap canvas{max-width:94vw!important;max-height:100%!important;margin:0 auto!important;}
}
@media (max-width:390px){
  .apb-canvas-col{height:54svh!important;min-height:340px!important;max-height:510px!important;}
  .apb-canvas-wrap canvas{max-width:92vw!important;}
}

/* v0.4.9: canvas itself must never use contain — it creates letterbox bars
   when CSS and backing-store dimensions differ. canvasBox() already computes
   dimensions that fit the mobile viewport, while draw() crops the photo as cover. */
@media (max-width:900px){
  .apb-canvas-wrap canvas{
    object-fit:fill!important;
    max-width:none!important;
    max-height:none!important;
    display:block!important;
  }
}

/* v0.5.1: first-screen mobile spacing and size-thumbnail scale. */
@media (max-width:900px){
  .apb-stage:has(.apb-first-row) #apb-zoom,
  .apb-stage:has(.apb-first-row) .apb-options-col{transform:translateY(-12px)!important;}
  .apb-stage:has(.apb-first-row) .apb-size img{width:77px!important;height:80px!important;}
}
@media (max-width:390px){
  .apb-stage:has(.apb-first-row) .apb-size img{width:68px!important;height:71px!important;}
}

/* v0.5.2 visual refresh: warmer canvas, clear photo-to-art story, subtle motion. */
.apb-main{background:linear-gradient(145deg,#fff 0%,#fff8fc 48%,#f7f3ff 100%)!important;}
.apb-work{
  background:
    radial-gradient(circle at 8% 16%,rgba(224,112,176,.12),transparent 30%),
    radial-gradient(circle at 92% 48%,rgba(114,99,210,.09),transparent 32%),
    linear-gradient(160deg,#fff 0%,#fff9fc 58%,#f9f7ff 100%)!important;
}
.apb-canvas-col,.apb-options-col{background:transparent!important;}

.apb-upload-cover{
  box-sizing:border-box!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  flex-direction:column!important;
  gap:9px!important;
  padding:18px 14px!important;
  overflow:hidden!important;
  border:1px solid rgba(213,103,164,.18)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,255,255,.96),transparent 30%),
    radial-gradient(circle at 84% 88%,rgba(190,153,231,.18),transparent 34%),
    linear-gradient(145deg,#fff6fb 0%,#fff 50%,#f6f2ff 100%)!important;
  box-shadow:0 16px 42px rgba(77,38,69,.18),0 3px 10px rgba(96,47,82,.10)!important;
  isolation:isolate!important;
}
.apb-upload-cover:before{
  content:"";position:absolute;inset:-45%;z-index:-1;pointer-events:none;
  background:conic-gradient(from 180deg,transparent,rgba(222,112,174,.09),transparent 32%,rgba(124,105,211,.08),transparent 66%);
  animation:apbAura 14s linear infinite;
}
.apb-upload-cover input{display:none!important;}
.apb-upload-story{display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;width:100%!important;}
.apb-upload-story figure{position:relative!important;width:72px!important;height:88px!important;margin:0!important;padding:4px!important;border-radius:12px!important;background:#fff!important;box-shadow:0 8px 20px rgba(58,32,52,.17)!important;transform:rotate(-3deg);}
.apb-upload-story figure.apb-upload-art{transform:rotate(3deg);}
.apb-upload-story figure img{display:block!important;width:100%!important;height:66px!important;object-fit:cover!important;border-radius:9px!important;}
.apb-upload-story figure small{display:block!important;color:#5d4355!important;font-size:9px!important;font-weight:800!important;line-height:15px!important;text-align:center!important;}
.apb-upload-story>i{display:flex!important;align-items:center!important;gap:2px!important;color:#cc4f96!important;font-style:normal!important;font-size:20px!important;font-weight:900!important;filter:drop-shadow(0 3px 6px rgba(194,66,139,.22));}
.apb-upload-story>i b{font-size:15px!important;color:#ef9bc9!important;animation:apbSpark 2.2s ease-in-out infinite;}
.apb-upload-cover>strong{color:#302239!important;font-size:16px!important;line-height:1.15!important;text-align:center!important;font-weight:900!important;letter-spacing:-.2px!important;}
.apb-upload-cover>span{
  position:relative!important;overflow:hidden!important;min-width:190px!important;box-sizing:border-box!important;
  padding:12px 22px!important;border-radius:999px!important;text-align:center!important;
  background:linear-gradient(100deg,#c83d92,#df75b3 52%,#bc55a4)!important;
  box-shadow:0 9px 22px rgba(190,57,139,.28)!important;color:#fff!important;font-size:15px!important;font-weight:850!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.apb-upload-cover>span:after{content:"";position:absolute;top:-40%;bottom:-40%;left:-35%;width:24%;transform:rotate(18deg);background:rgba(255,255,255,.32);animation:apbShine 3.8s ease-in-out infinite;}
.apb-upload-cover>em{color:#947d8d!important;font-size:10px!important;font-style:normal!important;font-weight:650!important;letter-spacing:.25px!important;}
.apb-upload-cover:hover>span{transform:translateY(-2px)!important;box-shadow:0 12px 27px rgba(190,57,139,.34)!important;}

.apb-size{overflow:visible!important;transition:transform .2s ease,box-shadow .2s ease!important;}
.apb-size img{object-fit:contain!important;max-width:78%!important;max-height:72%!important;filter:drop-shadow(0 4px 7px rgba(45,32,40,.11));}
.apb-format-btn img,.apb-format-btn .apb-format-img,.apb-format-btn .apb-camera-img{width:68%!important;height:68%!important;max-width:68%!important;max-height:68%!important;object-fit:contain!important;overflow:visible!important;}
.apb-format-btn,.apb-size,#apb-next,.apb-upload-floating{will-change:transform;}
.apb-format-btn:hover,.apb-size:hover{transform:translateY(-3px)!important;}
.apb-size.active{box-shadow:0 10px 24px rgba(43,206,39,.20),0 2px 7px rgba(0,0,0,.12)!important;}
#apb-next{background:linear-gradient(100deg,#d75ba2,#e57cba,#c94f9c)!important;background-size:180% 100%!important;animation:apbButtonBreath 4s ease-in-out infinite!important;}
.apb-upload-floating.active{animation:apbFloat 3.2s ease-in-out infinite!important;}
.apb-options-col>*{animation:apbFadeUp .34s ease both;}

@keyframes apbAura{to{transform:rotate(360deg)}}
@keyframes apbSpark{0%,100%{transform:scale(.82) rotate(-8deg);opacity:.65}50%{transform:scale(1.18) rotate(8deg);opacity:1}}
@keyframes apbShine{0%,58%{left:-38%;opacity:0}68%{opacity:1}86%,100%{left:125%;opacity:0}}
@keyframes apbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes apbFadeUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes apbButtonBreath{0%,100%{background-position:0 50%;box-shadow:0 5px 13px rgba(179,54,128,.25)}50%{background-position:100% 50%;box-shadow:0 8px 20px rgba(179,54,128,.34)}}

@media(max-width:900px){
  .apb-stage:has(.apb-first-row) .apb-size img{width:70px!important;height:73px!important;max-width:74%!important;max-height:68%!important;margin:3px auto 5px!important;}
  .apb-stage:has(.apb-first-row) .apb-size{padding-top:9px!important;}
}
@media(max-width:390px){
  .apb-stage:has(.apb-first-row) .apb-size img{width:63px!important;height:66px!important;}
  .apb-upload-story figure{width:62px!important;height:76px!important;}
  .apb-upload-story figure img{height:55px!important;}
  .apb-upload-cover{gap:6px!important;padding:12px 10px!important;}
  .apb-upload-cover>strong{font-size:14px!important;}
  .apb-upload-cover>span{min-width:174px!important;padding:10px 18px!important;font-size:14px!important;}
}
@media(prefers-reduced-motion:reduce){
  .apb-old *,.apb-old *:before,.apb-old *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* v0.5.3: denser first-screen size cards with a stronger product image. */
@media(max-width:900px){
  .apb-stage:has(.apb-first-row) .apb-size-area{height:136px!important;}
  .apb-stage:has(.apb-first-row) .apb-size-grid{height:134px!important;gap:9px!important;padding-top:3px!important;}
  .apb-stage:has(.apb-first-row) .apb-size{
    flex:0 0 calc((90vw - 40px)/3)!important;
    width:calc((90vw - 40px)/3)!important;
    height:124px!important;min-height:124px!important;max-height:124px!important;
    padding:7px 3px!important;
  }
  .apb-stage:has(.apb-first-row) .apb-size img{
    width:76px!important;height:79px!important;max-width:82%!important;max-height:76%!important;margin:1px auto 4px!important;
  }
}
@media(max-width:390px){
  .apb-stage:has(.apb-first-row) .apb-size-area{height:130px!important;}
  .apb-stage:has(.apb-first-row) .apb-size-grid{height:128px!important;gap:7px!important;}
  .apb-stage:has(.apb-first-row) .apb-size{height:119px!important;min-height:119px!important;max-height:119px!important;}
  .apb-stage:has(.apb-first-row) .apb-size img{width:68px!important;height:71px!important;}
}

/* v0.5.4: premium size selection and droplet TOP marker. */
.apb-size{
  position:relative!important;
  border:1px solid rgba(108,78,98,.14)!important;
  background:linear-gradient(155deg,#fff 0%,#fff 58%,#faf5fb 100%)!important;
  box-shadow:0 5px 16px rgba(64,38,56,.10)!important;
}
.apb-size:after{
  content:"✓";position:absolute;right:8px;bottom:8px;width:25px;height:25px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:#fff;color:#bd2d88;font-size:15px;font-weight:950;
  box-shadow:0 4px 12px rgba(80,24,62,.22);opacity:0;transform:scale(.5) rotate(-18deg);
  transition:opacity .2s ease,transform .22s cubic-bezier(.2,.9,.25,1.25);
}
.apb-size.active{
  border-color:rgba(255,255,255,.82)!important;
  background:linear-gradient(145deg,#a91f7a 0%,#cb3f95 48%,#e374b7 100%)!important;
  box-shadow:0 12px 28px rgba(174,39,126,.32),inset 0 1px 0 rgba(255,255,255,.34)!important;
  transform:translateY(-3px) scale(1.025)!important;
}
.apb-size.active:after{opacity:1;transform:scale(1) rotate(0);}
.apb-size.active span{color:#fff!important;font-weight:900!important;text-shadow:0 2px 5px rgba(79,15,57,.24)!important;}
.apb-size.active img{filter:drop-shadow(0 7px 11px rgba(72,18,52,.28)) brightness(1.04)!important;}

.apb-top-badge{
  top:3px!important;left:50%!important;right:auto!important;width:36px!important;height:36px!important;
  min-width:36px!important;padding:0!important;border:0!important;border-radius:50% 50% 50% 9%!important;
  transform:translateX(-50%) rotate(-45deg)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  background:linear-gradient(145deg,#ffd955 0%,#ffb90f 56%,#f59a00 100%)!important;
  box-shadow:0 6px 14px rgba(238,155,0,.34),inset 0 1px 1px rgba(255,255,255,.65)!important;
  color:transparent!important;font-size:0!important;line-height:1!important;z-index:8!important;
}
.apb-top-badge:after{
  content:"ТОП";display:block;color:#fff;font-size:9px;font-weight:950;letter-spacing:.2px;
  text-shadow:0 1px 2px rgba(126,73,0,.28);transform:rotate(45deg)!important;
}

@media(max-width:900px){
  .apb-stage:has(.apb-first-row) .apb-size img{
    width:91px!important;height:91px!important;max-width:88%!important;max-height:78%!important;margin:0 auto 2px!important;
  }
}
@media(max-width:390px){
  .apb-stage:has(.apb-first-row) .apb-size img{width:82px!important;height:82px!important;}
  .apb-top-badge{width:33px!important;height:33px!important;min-width:33px!important;}
  .apb-top-badge:after{font-size:8px!important;}
}

/* v0.5.5 conversion-focused size cards: calm neutrals, clear emerald selection. */
.apb-size{
  border:1px solid #e8e1e9!important;
  background:linear-gradient(155deg,#fff 0%,#fbfafc 64%,#f3eff6 100%)!important;
  box-shadow:0 5px 15px rgba(52,38,48,.09),inset 0 1px 0 #fff!important;
}
.apb-size:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;
  background:radial-gradient(circle at 20% 8%,rgba(255,255,255,.42),transparent 36%);
  transition:opacity .2s ease;
}
.apb-size span{color:#29232a!important;font-weight:850!important;letter-spacing:-.2px!important;}
.apb-size.active{
  border-color:#46d69d!important;
  background:linear-gradient(145deg,#08795e 0%,#0fa879 48%,#35cf8f 100%)!important;
  box-shadow:0 14px 30px rgba(10,151,108,.27),0 3px 8px rgba(7,93,69,.16),inset 0 1px 0 rgba(255,255,255,.36)!important;
  transform:translateY(-3px) scale(1.025)!important;
}
.apb-size.active:before{opacity:1;}
.apb-size.active:after{
  right:7px!important;bottom:7px!important;width:24px!important;height:24px!important;
  background:#fff!important;color:#07815f!important;border:2px solid rgba(255,255,255,.72)!important;
  box-shadow:0 5px 13px rgba(3,70,51,.25)!important;
}
.apb-size.active span{color:#fff!important;text-shadow:0 2px 5px rgba(0,67,48,.24)!important;}
.apb-size.active img{filter:drop-shadow(0 8px 12px rgba(0,59,41,.25)) brightness(1.05)!important;}

/* Gold bestseller tag: compact, readable and premium without gimmicks. */
.apb-top-badge{
  top:7px!important;right:7px!important;left:auto!important;width:50px!important;height:25px!important;min-width:50px!important;
  padding:0 7px!important;border:1px solid rgba(255,232,145,.75)!important;border-radius:9px 9px 3px 9px!important;
  transform:none!important;clip-path:polygon(0 0,100% 0,100% 72%,82% 100%,0 100%)!important;
  background:linear-gradient(135deg,#ffe878 0%,#ffc62d 50%,#f2a900 100%)!important;
  box-shadow:0 6px 13px rgba(218,148,0,.26),inset 0 1px 1px rgba(255,255,255,.72)!important;
  color:transparent!important;font-size:0!important;display:flex!important;align-items:center!important;justify-content:center!important;
}
.apb-top-badge:after{
  content:"★ ТОП"!important;color:#714700!important;font-size:9px!important;font-weight:950!important;letter-spacing:.1px!important;
  text-shadow:0 1px 0 rgba(255,255,255,.52)!important;transform:none!important;white-space:nowrap!important;
}
.apb-size.active .apb-top-badge{background:linear-gradient(135deg,#fff0a0,#ffd03e 52%,#f4b10f)!important;}

@media(max-width:900px){
  .apb-stage:has(.apb-first-row) .apb-size img{
    width:100px!important;height:96px!important;max-width:91%!important;max-height:79%!important;margin:0 auto 1px!important;
  }
}
@media(max-width:390px){
  .apb-stage:has(.apb-first-row) .apb-size img{width:90px!important;height:87px!important;}
  .apb-top-badge{width:46px!important;height:23px!important;min-width:46px!important;right:5px!important;top:5px!important;}
  .apb-top-badge:after{font-size:8px!important;}
}

/* v0.5.6: site-matched green cards with pink-violet outlines. */
.apb-size{
  border:2px solid #d56bad!important;
  background:linear-gradient(150deg,#f3fff7 0%,#e6f9ed 58%,#d9f3e5 100%)!important;
  box-shadow:0 6px 16px rgba(82,45,72,.10),inset 0 1px 0 rgba(255,255,255,.9)!important;
}
.apb-size span{color:#174b35!important;font-weight:850!important;text-shadow:none!important;}
.apb-size:after{display:none!important;content:none!important;}
.apb-size.active{
  border-color:#c950a0!important;
  background:linear-gradient(145deg,#149a58 0%,#20b967 48%,#48d987 100%)!important;
  box-shadow:0 13px 28px rgba(22,163,91,.27),0 0 0 3px rgba(210,91,170,.14),inset 0 1px 0 rgba(255,255,255,.34)!important;
  transform:translateY(-3px) scale(1.02)!important;
}
.apb-size.active span{color:#fff!important;text-shadow:0 2px 4px rgba(0,85,43,.23)!important;}
.apb-size.active img{filter:drop-shadow(0 7px 11px rgba(0,74,39,.22)) brightness(1.04)!important;}

.apb-top-badge,
.apb-size.active .apb-top-badge{
  top:5px!important;left:50%!important;right:auto!important;width:45px!important;height:21px!important;min-width:45px!important;
  padding:0 8px!important;border:1px solid #f5c23d!important;border-radius:999px!important;
  transform:translateX(-50%)!important;clip-path:none!important;
  background:linear-gradient(180deg,#ffe985 0%,#ffd04a 54%,#f5b91f 100%)!important;
  box-shadow:0 4px 10px rgba(206,142,10,.22),inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.apb-top-badge:after{
  content:"ТОП"!important;color:#795000!important;font-size:9px!important;font-weight:950!important;
  letter-spacing:.35px!important;text-shadow:0 1px 0 rgba(255,255,255,.55)!important;transform:none!important;
}
@media(max-width:390px){
  .apb-top-badge{width:42px!important;height:20px!important;min-width:42px!important;top:4px!important;}
  .apb-top-badge:after{font-size:8px!important;}
}

/* v0.5.7: borderless pearl cards and a crisp diagonal active-state shine. */
.apb-size{
  border:0!important;
  background:linear-gradient(120deg,#fff 0%,#fff7fb 32%,#fcebf5 50%,#fff9fc 68%,#fff 100%)!important;
  background-size:190% 100%!important;
  box-shadow:0 6px 17px rgba(83,47,72,.10),inset 0 1px 0 rgba(255,255,255,.92)!important;
  animation:apbPinkPearl 7s ease-in-out infinite!important;
}
.apb-size:before{
  content:""!important;position:absolute!important;inset:0!important;border-radius:inherit!important;z-index:1!important;
  opacity:.45!important;pointer-events:none!important;
  background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.5) 48%,transparent 70%)!important;
}
.apb-size img,.apb-size span{position:relative!important;z-index:2!important;}
.apb-size.active{
  border:0!important;
  background:linear-gradient(145deg,#20b915 0%,#38d722 48%,#63eb42 100%)!important;
  background-size:100% 100%!important;
  box-shadow:0 14px 29px rgba(42,196,28,.28),0 4px 10px rgba(35,135,28,.15),inset 0 1px 0 rgba(255,255,255,.38)!important;
  animation:none!important;
}
.apb-size.active:before{
  opacity:1!important;
  background:linear-gradient(112deg,transparent 0%,transparent 40%,rgba(255,255,255,.12) 41%,rgba(255,255,255,.68) 48%,rgba(255,255,255,.18) 54%,transparent 55%,transparent 100%)!important;
  background-size:240% 100%!important;
  background-position:140% 0!important;
  animation:apbDiagonalFlash 3.6s cubic-bezier(.35,.05,.2,1) infinite!important;
}
.apb-size.active span{color:#fff!important;text-shadow:0 2px 5px rgba(25,104,17,.25)!important;}

@keyframes apbPinkPearl{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@keyframes apbDiagonalFlash{
  0%,58%{background-position:140% 0;opacity:0}
  64%{opacity:1}
  82%{background-position:-65% 0;opacity:1}
  88%,100%{background-position:-65% 0;opacity:0}
}

/* v0.5.8: clean white cards; selected card gets one crisp two-tone stripe. */
.apb-size{
  border:0!important;
  background:#fff!important;
  background-size:100% 100%!important;
  box-shadow:0 6px 17px rgba(73,49,66,.11),inset 0 1px 0 rgba(255,255,255,.95)!important;
  animation:none!important;
}
.apb-size:before{opacity:0!important;animation:none!important;}
.apb-size.active{
  background:#32d322!important;
  box-shadow:0 14px 29px rgba(42,196,28,.28),0 4px 10px rgba(35,135,28,.15),inset 0 1px 0 rgba(255,255,255,.38)!important;
}
.apb-size.active:before{
  opacity:1!important;
  background:linear-gradient(112deg,transparent 0%,transparent 44%,#8cf26f 44%,#8cf26f 56%,transparent 56%,transparent 100%)!important;
  background-size:230% 100%!important;
  background-position:145% 0!important;
  animation:apbSingleStripe 3.4s cubic-bezier(.35,.05,.2,1) infinite!important;
}
@keyframes apbSingleStripe{
  0%,58%{background-position:145% 0}
  88%,100%{background-position:-75% 0}
}

/* v0.5.9: full thumbnails on step 2; step 5 reuses the same card system. */
@media(max-width:900px){
  .apb-style{
    border:0!important;border-radius:7px!important;background:#fff!important;
    box-shadow:0 5px 15px rgba(66,43,58,.11)!important;overflow:hidden!important;
  }
  .apb-style img{
    width:100%!important;height:66px!important;box-sizing:border-box!important;padding:4px!important;
    object-fit:contain!important;object-position:center!important;background:linear-gradient(145deg,#faf7fa,#f2edf5)!important;
  }
  .apb-style span{
    height:26px!important;min-height:26px!important;box-sizing:border-box!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:1px 3px!important;background:#fff!important;color:#222!important;
    font-size:10.5px!important;line-height:12px!important;text-align:center!important;
  }
  .apb-style.active span{background:#38d722!important;color:#fff!important;font-weight:800!important;}

  .apb-quality-grid{
    display:flex!important;flex-wrap:nowrap!important;width:100vw!important;max-width:100vw!important;
    height:104px!important;min-height:104px!important;margin:0!important;padding:2px 12px 10px!important;gap:6px!important;
    overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;background:transparent!important;
  }
  .apb-quality{
    position:relative!important;display:block!important;flex:0 0 calc((100vw - 34px)/3)!important;
    width:calc((100vw - 34px)/3)!important;height:92px!important;min-height:92px!important;max-height:92px!important;
    border:0!important;border-radius:7px!important;background:#fff!important;overflow:hidden!important;
    box-shadow:0 5px 15px rgba(66,43,58,.11)!important;scroll-snap-align:start!important;animation:none!important;
  }
  .apb-quality img{
    display:block!important;width:100%!important;height:66px!important;box-sizing:border-box!important;padding:4px!important;
    object-fit:contain!important;object-position:center!important;background:linear-gradient(145deg,#faf7fa,#f2edf5)!important;
  }
  .apb-quality span{
    width:100%!important;height:26px!important;min-height:26px!important;box-sizing:border-box!important;
    display:flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;
    padding:1px 3px!important;background:#fff!important;color:#222!important;
    font-size:10.5px!important;line-height:12px!important;text-align:center!important;
  }
  .apb-quality span b{font-size:10.5px!important;line-height:12px!important;}
  .apb-quality span em{display:none!important;}
  .apb-quality span strong{font-size:9px!important;line-height:11px!important;color:inherit!important;}
  .apb-quality u{display:none!important;}
  .apb-quality.active span{background:#38d722!important;color:#fff!important;font-weight:800!important;}
  .apb-quality.active{box-shadow:0 9px 20px rgba(56,215,34,.22)!important;}
}
@media(max-width:390px){
  .apb-style img,.apb-quality img{height:62px!important;}
  .apb-style,.apb-quality{height:87px!important;min-height:87px!important;max-height:87px!important;}
  .apb-quality-grid{height:99px!important;min-height:99px!important;}
  .apb-style span,.apb-quality span{height:25px!important;min-height:25px!important;font-size:9.8px!important;}
}

/* v0.6.0 final cascade overrides */
@media(max-width:900px){
  .apb-style img,.apb-quality img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;padding:0!important;object-fit:cover!important;object-position:center!important;background:#f5f1f4!important;}
  .apb-style span,.apb-quality span{position:absolute!important;z-index:2!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:27px!important;min-height:27px!important;background:linear-gradient(180deg,rgba(255,255,255,.87),#fff)!important;box-shadow:0 -4px 12px rgba(31,18,27,.08)!important;}
  .apb-style.active span,.apb-quality.active span{background:linear-gradient(135deg,#40df2a,#24c914)!important;color:#fff!important;}
  .apb-work.apb-is-final .apb-stage{display:block!important;height:100%!important;}
  .apb-work.apb-is-final .apb-canvas-col{display:none!important;}
  .apb-work.apb-is-final .apb-options-col{display:block!important;width:100%!important;height:100%!important;padding:2px 8px 0!important;overflow:visible!important;}
  .apb-work.apb-is-final .apb-final{height:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:3px!important;padding:0!important;background:radial-gradient(circle at 50% 38%,#fff 0,#fbf5f9 62%,#f5edf3 100%)!important;overflow:hidden!important;}
  .apb-work.apb-is-final .apb-3d-area{display:block!important;width:100%!important;min-width:0!important;}
  .apb-work.apb-is-final .apb-3d-scene{height:min(42svh,315px)!important;min-height:238px!important;}
  .apb-work.apb-is-final .apb-final ul{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important;width:100%!important;padding:0 7px!important;margin:0!important;}
  .apb-work.apb-is-final .apb-final li{display:flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;margin:0!important;padding:6px!important;font-size:12.5px!important;line-height:1.05!important;background:rgba(255,255,255,.88)!important;box-shadow:0 3px 10px rgba(80,49,70,.07)!important;}
}
@media(max-width:390px){
  .apb-work.apb-is-final .apb-3d-scene{height:min(39svh,275px)!important;min-height:218px!important;transform:scale(.92)!important;margin:-7px 0!important;}
  .apb-work.apb-is-final .apb-3d-hint{font-size:12px!important;margin-top:-5px!important;}
}

/* v0.6.1: unmistakable quality selection and realistic canvas back. */
.apb-quality{transition:transform .2s ease,box-shadow .2s ease,outline-color .2s ease!important;}
.apb-quality.active{
  outline:3px solid #35d923!important;outline-offset:-3px!important;
  box-shadow:0 0 0 3px rgba(53,217,35,.16),0 10px 24px rgba(42,190,29,.38)!important;
  transform:translateY(-2px)!important;
}
.apb-quality-check{
  display:none;position:absolute;z-index:5;top:6px;right:6px;width:23px;height:23px;
  align-items:center;justify-content:center;border-radius:50%;background:#35d923;color:#fff;
  border:2px solid #fff;box-shadow:0 3px 9px rgba(25,129,18,.35);font:900 13px/1 Arial,sans-serif;
}
.apb-quality.active .apb-quality-check{display:flex;animation:apbQualityPop .28s cubic-bezier(.2,.9,.3,1.35);}
@keyframes apbQualityPop{from{transform:scale(.45);opacity:0}to{transform:scale(1);opacity:1}}

.apb-face-back{background:#d9cbb6!important;border:4px solid #eee4d4!important;}
.apb-canvas-back{position:absolute;inset:0;background-color:#d8cbb5;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0,rgba(255,255,255,.12) 1px,rgba(91,68,42,.05) 1px,rgba(91,68,42,.05) 3px),repeating-linear-gradient(90deg,rgba(255,255,255,.1) 0,rgba(255,255,255,.1) 1px,transparent 1px,transparent 4px);box-shadow:inset 0 0 18px rgba(67,46,25,.22);}
.apb-stretcher{inset:10px!important;border:11px solid #b8793d!important;background:none!important;box-shadow:inset 0 0 0 2px rgba(105,60,24,.36),0 0 0 1px #885328!important;}
.apb-stretcher:before,.apb-stretcher:after{content:"";position:absolute;z-index:2;background:linear-gradient(90deg,#8f5729,#d6a166 45%,#9b6231);}
.apb-stretcher:before{left:50%;top:-2px;bottom:-2px;width:8px;transform:translateX(-50%);}
.apb-stretcher:after{top:50%;left:-2px;right:-2px;height:8px;transform:translateY(-50%);}
.apb-stretcher i{display:none!important;}
.apb-hanger{z-index:5!important;top:7px!important;width:64px!important;height:18px!important;border:0!important;border-radius:2px!important;background:linear-gradient(#d8dadd,#74777c)!important;box-shadow:0 2px 3px rgba(0,0,0,.3),inset 0 1px #fff!important;clip-path:polygon(0 0,100% 0,100% 62%,90% 62%,84% 100%,75% 62%,65% 62%,58% 100%,50% 62%,42% 100%,34% 62%,25% 62%,17% 100%,10% 62%,0 62%)!important;}
.apb-hanger:before,.apb-hanger:after{top:4px!important;width:7px!important;height:7px!important;background:radial-gradient(circle at 40% 35%,#f2f2f2,#64676b 65%)!important;box-shadow:0 1px 1px rgba(0,0,0,.3)!important;}
.apb-hanger:before{left:6px!important}.apb-hanger:after{right:6px!important}
.apb-hanger em{position:absolute;left:50%;top:3px;width:22px;height:7px;transform:translateX(-50%);border-radius:7px;background:#55585c;box-shadow:inset 0 1px 2px #292b2e;}

/* v0.6.2: supplied crown artwork and 30% larger, reference-matched 3D canvas. */
.apb-quality-check{display:none!important;}
.apb-quality-crown{
  position:absolute!important;z-index:8!important;left:50%!important;right:auto!important;top:-17px!important;bottom:auto!important;
  width:38px!important;height:38px!important;padding:0!important;transform:translateX(-50%)!important;
  object-fit:contain!important;background:transparent!important;filter:drop-shadow(0 4px 5px rgba(170,28,130,.26))!important;
  pointer-events:none!important;
}
.apb-quality-crown.gold{
  filter:brightness(0) saturate(100%) invert(73%) sepia(99%) saturate(1371%) hue-rotate(356deg) brightness(101%) contrast(104%) drop-shadow(0 4px 5px rgba(190,132,0,.3))!important;
}
@media(max-width:900px){
  .apb-quality-grid{height:121px!important;min-height:121px!important;padding-top:20px!important;overflow-y:visible!important;}
  .apb-quality{overflow:visible!important;}
  .apb-quality-photo{border-radius:7px!important;}
  .apb-quality span{border-radius:0 0 7px 7px!important;}
  .apb-quality.active{outline:3px solid #35d923!important;box-shadow:0 0 0 4px rgba(53,217,35,.16),0 12px 26px rgba(42,190,29,.4)!important;}
}

.apb-face-back{background:#858680!important;border:5px solid #dad7cf!important;box-shadow:inset 0 0 26px rgba(24,26,23,.28)!important;}
.apb-face-back:before{content:"";position:absolute;z-index:8;inset:2px;pointer-events:none;background:repeating-linear-gradient(90deg,#565854 0 2px,transparent 2px 17px) top/100% 2px no-repeat,repeating-linear-gradient(90deg,#565854 0 2px,transparent 2px 17px) bottom/100% 2px no-repeat,repeating-linear-gradient(0deg,#565854 0 2px,transparent 2px 17px) left/2px 100% no-repeat,repeating-linear-gradient(0deg,#565854 0 2px,transparent 2px 17px) right/2px 100% no-repeat;opacity:.82;}
.apb-canvas-back{background-color:#777973!important;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 1px,rgba(21,24,21,.1) 1px,rgba(21,24,21,.1) 3px),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0,rgba(255,255,255,.06) 1px,transparent 1px,transparent 4px)!important;}
.apb-stretcher{inset:13px!important;border:13px solid #d0a16b!important;box-shadow:inset 0 0 0 2px #8e633c,0 0 0 2px #9b7048,0 3px 8px rgba(27,20,14,.25)!important;}
.apb-stretcher:before,.apb-stretcher:after{background:linear-gradient(90deg,#a97443 0,#e0bc89 38%,#c38d55 68%,#916039 100%)!important;box-shadow:inset 0 0 0 1px rgba(96,59,29,.35)!important;}
.apb-hanger{top:10px!important;width:70px!important;height:20px!important;}
.apb-3d-scene{height:370px;}
@media(max-width:900px){
  .apb-work.apb-is-final .apb-3d-scene{height:min(48svh,370px)!important;min-height:315px!important;}
}
@media(max-width:390px){
  .apb-work.apb-is-final .apb-3d-scene{height:min(46svh,340px)!important;min-height:295px!important;transform:none!important;margin:0!important;}
}

/* v0.6.3: rear construction follows the supplied real canvas reference. */
.apb-face-front{transform:translateZ(16px)!important;}
.apb-face-back{transform:rotateY(180deg) translateZ(16px)!important;background:#737570!important;border:7px solid #eeeae2!important;}
.apb-canvas-back{inset:4px!important;background-color:#70736e!important;background-image:repeating-linear-gradient(0deg,rgba(235,235,225,.09) 0,rgba(235,235,225,.09) 1px,rgba(30,32,29,.11) 1px,rgba(30,32,29,.11) 3px),repeating-linear-gradient(90deg,rgba(245,245,235,.07) 0,rgba(245,245,235,.07) 1px,transparent 1px,transparent 4px)!important;}
.apb-stretcher{inset:12px!important;border:14px solid #d5ad79!important;background:transparent!important;box-shadow:inset 0 0 0 2px #8d663f,0 0 0 2px #9b734b,0 4px 9px rgba(32,23,15,.3)!important;}
.apb-stretcher:before,.apb-stretcher:after{display:none!important;}
.apb-stretcher{border-image:linear-gradient(100deg,#b98650,#e6c99d 20%,#c99a63 42%,#efd3a9 62%,#ad7948 100%) 1!important;}
.apb-hanger{top:7px!important;width:72px!important;height:21px!important;background:linear-gradient(#e6e7e8,#777a7e)!important;}
.apb-face-left,.apb-face-right{width:32px!important;background:linear-gradient(90deg,#76502d,#d1a16d 30%,#8b6037 72%,#eee8de 73%,#eee8de 100%)!important;}
.apb-face-left{left:-16px!important;}.apb-face-right{right:-16px!important;}
.apb-face-top,.apb-face-bottom{height:32px!important;background:linear-gradient(#eee8de 0 26%,#d4a675 27%,#895c35 100%)!important;}
.apb-face-top{top:-16px!important;}.apb-face-bottom{bottom:-16px!important;}

/* v0.6.4: transparent crowns and calm floating artwork instead of 3D. */
.apb-quality-crown{
  top:-16px!important;width:36px!important;height:36px!important;
  background-color:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;opacity:1!important;
}
.apb-final-flat{display:flex;align-items:center;justify-content:center;gap:28px;padding-top:18px;}
.apb-floating-art{position:relative;flex:0 0 auto;animation:apbArtFloat 4.2s ease-in-out infinite;will-change:transform;}
.apb-floating-art img{display:block;width:100%;height:100%;object-fit:cover;border-radius:2px;box-shadow:0 20px 30px rgba(48,35,44,.19),0 7px 12px rgba(48,35,44,.12);}
.apb-floating-art:after{content:"";position:absolute;z-index:-1;left:10%;right:10%;bottom:-22px;height:18px;border-radius:50%;background:rgba(52,37,48,.14);filter:blur(10px);animation:apbArtShadow 4.2s ease-in-out infinite;}
@keyframes apbArtFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes apbArtShadow{0%,100%{transform:scaleX(1);opacity:.72}50%{transform:scaleX(.88);opacity:.45}}
@media(prefers-reduced-motion:reduce){.apb-floating-art,.apb-floating-art:after{animation:none!important;}}
@media(max-width:900px){
  .apb-work.apb-is-final .apb-final-flat{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:13px!important;padding:22px 0 0!important;}
  .apb-floating-art{max-width:78vw;max-height:43svh;}
  .apb-floating-art img{box-shadow:0 18px 28px rgba(48,35,44,.18),0 6px 11px rgba(48,35,44,.1);}
}
@media(max-width:390px){
  .apb-work.apb-is-final .apb-final-flat{padding-top:14px!important;gap:9px!important;}
  .apb-floating-art{max-width:76vw;max-height:40svh;}
}

/* v0.6.5: crown sizing wins over generic card images; final benefits are rows. */
.apb-quality img.apb-quality-crown{
  position:absolute!important;z-index:20!important;inset:auto auto auto 50%!important;top:-15px!important;left:50%!important;
  display:block!important;width:34px!important;height:34px!important;max-width:34px!important;max-height:34px!important;
  padding:0!important;margin:0!important;transform:translateX(-50%)!important;
  object-fit:contain!important;object-position:center!important;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;opacity:1!important;pointer-events:none!important;
}
.apb-quality img.apb-quality-crown.gold{filter:brightness(0) saturate(100%) invert(73%) sepia(99%) saturate(1371%) hue-rotate(356deg) brightness(101%) contrast(104%) drop-shadow(0 3px 4px rgba(190,132,0,.28))!important;}
.apb-final-flat li>i{display:inline-flex;align-items:center;justify-content:center;margin-right:7px;color:#c3358e;font:900 18px/1 Gilroy,Arial,sans-serif;font-style:normal;}
@media(max-width:900px){
  .apb-quality-grid{padding-top:19px!important;}
  .apb-work.apb-is-final .apb-final-flat{gap:4px!important;}
  .apb-work.apb-is-final .apb-final-flat ul{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;gap:5px!important;width:100%!important;margin:18px 0 0!important;padding:0 10px!important;}
  .apb-work.apb-is-final .apb-final-flat li{display:flex!important;flex:none!important;align-items:center!important;justify-content:flex-start!important;width:100%!important;min-height:34px!important;margin:0!important;padding:7px 13px!important;text-align:left!important;border-radius:18px!important;}
  .apb-work.apb-is-final .apb-final-flat li>i{display:inline-flex!important;flex:0 0 22px!important;align-items:center!important;justify-content:center!important;margin-right:7px!important;color:#c3358e!important;font:900 18px/1 Gilroy,Arial,sans-serif!important;font-style:normal!important;}
}
@media(max-width:390px){
  .apb-quality img.apb-quality-crown{width:31px!important;height:31px!important;max-width:31px!important;max-height:31px!important;top:-13px!important;}
  .apb-work.apb-is-final .apb-final-flat ul{margin-top:13px!important;}
}

/* v0.6.6: premium crown bubbles, AI storytelling loader and protected zoom. */
.apb-quality img.apb-quality-crown{
  width:42px!important;height:42px!important;max-width:42px!important;max-height:42px!important;top:-19px!important;
  padding:7px!important;border-radius:50%!important;background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(198,57,145,.18)!important;box-shadow:0 5px 13px rgba(151,40,117,.18)!important;
  backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
}
.apb-quality img.apb-quality-crown.gold{background:rgba(255,249,222,.82)!important;border-color:rgba(224,168,17,.25)!important;}
@media(max-width:390px){.apb-quality img.apb-quality-crown{width:38px!important;height:38px!important;max-width:38px!important;max-height:38px!important;top:-17px!important;padding:6px!important;}}

.apb-loader{background:rgba(255,250,253,.86)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.apb-loader-card{width:min(88vw,390px);padding:28px 25px 25px;border:1px solid rgba(199,65,149,.12);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(251,239,247,.96));box-shadow:0 22px 55px rgba(105,46,84,.18);display:flex;flex-direction:column;align-items:center;text-align:center;}
.apb-loader-card p{min-height:48px;margin:14px 0 6px!important;color:#29202a!important;font-size:21px!important;line-height:1.15!important;font-weight:900!important;animation:apbLoaderText .42s ease both;}
.apb-loader-card small{display:block;min-height:38px;max-width:310px;color:#806d7a;font-size:14px;line-height:1.3;font-weight:600;}
.apb-ai-orbit{position:relative;display:block;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle,#fff 0 27%,#f9dceb 28% 45%,transparent 46%);box-shadow:0 0 0 1px rgba(195,53,142,.08),0 8px 24px rgba(195,53,142,.14);animation:apbAiPulse 2.2s ease-in-out infinite;}
.apb-ai-orbit b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#c3358e;font-size:28px;animation:apbAiSpark 1.5s ease-in-out infinite;}
.apb-ai-orbit i{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:linear-gradient(135deg,#e765b4,#8c31b4);transform-origin:5px 5px;animation:apbAiOrbit 2.4s linear infinite;}
.apb-ai-orbit i:nth-child(1){animation-delay:0s}.apb-ai-orbit i:nth-child(2){animation-delay:-.8s}.apb-ai-orbit i:nth-child(3){animation-delay:-1.6s}
@keyframes apbAiOrbit{from{transform:rotate(0deg) translateX(38px) rotate(0deg)}to{transform:rotate(360deg) translateX(38px) rotate(-360deg)}}
@keyframes apbAiPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.045)}}
@keyframes apbAiSpark{0%,100%{transform:scale(.9);opacity:.72}50%{transform:scale(1.14);opacity:1}}
@keyframes apbLoaderText{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

.apb-floating-art{padding:0!important;border:0!important;background:transparent!important;cursor:zoom-in!important;-webkit-touch-callout:none!important;user-select:none!important;}
.apb-zoom-mark{position:absolute;right:9px;bottom:9px;display:flex;width:37px;height:37px;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.86);color:#bd3a8a;font-size:25px;line-height:1;box-shadow:0 5px 14px rgba(57,34,49,.19);backdrop-filter:blur(4px);}
.apb-photo-viewer{display:none;position:fixed;z-index:99999;inset:0;padding:60px 18px 88px;background:rgba(19,14,18,.94);align-items:center;justify-content:center;flex-direction:column;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
.apb-photo-viewer.active{display:flex;animation:apbViewerIn .2s ease both;}
.apb-viewer-stage{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.apb-viewer-stage img{display:block;max-width:92vw;max-height:72vh;object-fit:contain;transition:transform .16s ease;pointer-events:none;box-shadow:0 18px 48px rgba(0,0,0,.42);}
.apb-viewer-shield{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-20deg);width:145%;padding:8px;text-align:center;color:rgba(255,255,255,.21);font-size:16px;font-weight:900;letter-spacing:2px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);pointer-events:none;text-shadow:0 1px rgba(0,0,0,.12);}
.apb-viewer-close{position:absolute;z-index:4;right:16px;top:max(16px,env(safe-area-inset-top));width:43px;height:43px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:31px;line-height:1;cursor:pointer;}
.apb-viewer-controls{position:absolute;z-index:4;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:min(88vw,370px);padding:8px 12px;border-radius:24px;background:rgba(255,255,255,.14);backdrop-filter:blur(8px);}
.apb-viewer-controls button{flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:#bd3a8a;font-size:25px;line-height:1;}
.apb-viewer-controls input{flex:1;accent-color:#d54c9f;}
@keyframes apbViewerIn{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.apb-ai-orbit,.apb-ai-orbit i,.apb-ai-orbit b{animation:none!important;}}

/* v0.6.7: crown background and artwork are separate; zoomed art can be panned. */
.apb-quality .apb-quality-crown-wrap{
  position:absolute!important;z-index:20!important;left:50%!important;right:auto!important;top:-19px!important;bottom:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;
  margin:0!important;padding:6px!important;transform:translateX(-50%)!important;border-radius:50%!important;
  background:rgba(255,255,255,.8)!important;border:1px solid rgba(198,57,145,.18)!important;
  box-shadow:0 5px 13px rgba(151,40,117,.18)!important;backdrop-filter:blur(5px)!important;-webkit-backdrop-filter:blur(5px)!important;
  font-style:normal!important;pointer-events:none!important;
}
.apb-quality .apb-quality-crown-wrap.gold{background:rgba(255,250,226,.84)!important;border-color:rgba(224,168,17,.25)!important;box-shadow:0 5px 13px rgba(173,126,14,.2)!important;}
.apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon{
  position:static!important;inset:auto!important;display:block!important;width:28px!important;height:28px!important;
  min-width:0!important;max-width:28px!important;min-height:0!important;max-height:28px!important;
  margin:0!important;padding:0!important;transform:none!important;object-fit:contain!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  filter:drop-shadow(0 2px 3px rgba(163,34,130,.18))!important;
}
.apb-quality .apb-quality-crown-wrap.gold img.apb-quality-crown-icon{filter:brightness(0) saturate(100%) invert(73%) sepia(99%) saturate(1371%) hue-rotate(356deg) brightness(101%) contrast(104%) drop-shadow(0 2px 3px rgba(176,125,0,.25))!important;}
.apb-viewer-stage.can-pan{cursor:grab;touch-action:none;}
.apb-viewer-stage.dragging{cursor:grabbing;}
.apb-viewer-stage.dragging img{transition:none!important;}
@media(max-width:390px){
  .apb-quality .apb-quality-crown-wrap{width:38px!important;height:38px!important;top:-17px!important;padding:5px!important;}
  .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon{width:27px!important;height:27px!important;max-width:27px!important;max-height:27px!important;}
}

/* v0.6.8: richer gold and a brush that sketches a portrait. */
.apb-quality .apb-quality-crown-wrap.gold{background:rgba(255,246,199,.88)!important;border-color:rgba(218,145,0,.38)!important;box-shadow:0 6px 15px rgba(202,135,0,.3)!important;}
.apb-quality .apb-quality-crown-wrap.gold img.apb-quality-crown-icon{filter:brightness(0) saturate(100%) invert(61%) sepia(99%) saturate(2771%) hue-rotate(4deg) brightness(104%) contrast(108%) drop-shadow(0 2px 3px rgba(135,87,0,.32))!important;}
.apb-ai-painter{position:relative;display:block;width:128px;height:106px;border-radius:20px;background:radial-gradient(circle at 50% 42%,#fff 0 35%,#f9e3ef 72%,#f4d3e5 100%);box-shadow:0 10px 25px rgba(181,54,133,.14),inset 0 0 0 1px rgba(190,53,139,.08);overflow:visible;}
.apb-ai-painter svg{display:block;width:120px;height:100px;margin:3px auto;overflow:visible;}
.apb-ai-painter path{fill:none;stroke:#bf398b;stroke-width:2.7;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:280;stroke-dashoffset:280;filter:drop-shadow(0 1px 1px rgba(145,39,108,.12));animation:apbPortraitDraw 4.8s ease-in-out infinite;}
.apb-ai-painter .apb-portrait-face{stroke:#8d35b4;animation-delay:.35s}.apb-ai-painter .apb-portrait-body{stroke:#dc69aa;animation-delay:.7s}
.apb-paint-brush{position:absolute;z-index:3;left:16px;top:18px;width:8px;height:43px;border-radius:5px 5px 2px 2px;background:linear-gradient(90deg,#8b552b,#e4b36e 48%,#7b4725);transform:rotate(-38deg);transform-origin:50% 90%;filter:drop-shadow(0 3px 3px rgba(72,40,58,.22));animation:apbBrushPaint 4.8s ease-in-out infinite;}
.apb-paint-brush:before{content:"";position:absolute;left:-2px;top:-13px;width:12px;height:17px;border-radius:70% 70% 35% 35%;background:linear-gradient(135deg,#8e2e78,#e15fa9 60%,#7e2b9b);clip-path:polygon(50% 0,100% 55%,78% 100%,20% 100%,0 55%);}
.apb-paint-brush b{position:absolute;left:-1px;top:5px;width:10px;height:7px;border-radius:2px;background:linear-gradient(#f0d28b,#a66d24);box-shadow:inset 0 0 0 1px rgba(92,54,13,.25);}
@keyframes apbPortraitDraw{0%,8%{stroke-dashoffset:280;opacity:.2}68%,88%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.18}}
@keyframes apbBrushPaint{0%{left:16px;top:18px;transform:rotate(-38deg)}18%{left:66px;top:7px;transform:rotate(-24deg)}38%{left:86px;top:42px;transform:rotate(-45deg)}58%{left:42px;top:48px;transform:rotate(-32deg)}76%{left:93px;top:76px;transform:rotate(-48deg)}88%,100%{left:19px;top:78px;transform:rotate(-32deg)}}
@media(prefers-reduced-motion:reduce){.apb-ai-painter path,.apb-paint-brush{animation:none!important;stroke-dashoffset:0!important;}}

/* v0.6.9: keep mobile navigation comfortably above the viewport edge. */
@media(max-width:900px){
  .apb-bottom{overflow:visible!important;}
  .apb-actions{bottom:max(18px,env(safe-area-inset-bottom))!important;}
}
@media(max-width:390px){
  .apb-actions{bottom:max(17px,env(safe-area-inset-bottom))!important;}
}

/* v0.7.0: fixed 200% preview, studio brush loader and first-screen polish. */
.apb-size span,.apb-size.active span{color:#111!important;text-shadow:none!important;}
.apb-viewer-controls{display:none!important;}
.apb-ai-studio{width:148px!important;height:104px!important;border-radius:10px!important;background:linear-gradient(145deg,#fff,#f5f1ee)!important;border:1px solid rgba(75,52,63,.11)!important;box-shadow:0 13px 30px rgba(73,48,62,.15),inset 0 0 22px rgba(219,196,208,.12)!important;overflow:hidden!important;}
.apb-ai-studio svg{width:142px!important;height:100px!important;margin:2px auto!important;}
.apb-ai-studio path{fill:none!important;stroke-linecap:round!important;stroke-dasharray:190!important;stroke-dashoffset:190!important;animation:apbStudioStroke 4.6s cubic-bezier(.45,.05,.2,1) infinite!important;}
.apb-ai-studio .apb-studio-wash{stroke:#d44e9d!important;stroke-width:13!important;opacity:.8!important;}
.apb-ai-studio .apb-studio-accent{stroke:#7d389f!important;stroke-width:8!important;animation-delay:.45s!important;}
.apb-ai-studio .apb-studio-detail{stroke:#ef9fc9!important;stroke-width:5!important;animation-delay:.85s!important;}
.apb-ai-studio .apb-paint-brush{width:7px!important;height:48px!important;left:18px!important;top:55px!important;border-radius:3px!important;background:linear-gradient(90deg,#442c20,#bd8250 48%,#352117)!important;animation:apbStudioBrush 4.6s cubic-bezier(.45,.05,.2,1) infinite!important;}
.apb-ai-studio .apb-paint-brush:before{left:-3px!important;top:-14px!important;width:13px!important;height:18px!important;background:linear-gradient(135deg,#341f1a,#74384f 62%,#241714)!important;}
.apb-ai-studio .apb-paint-brush b{background:linear-gradient(#d8c18a,#8e682b)!important;}
@keyframes apbStudioStroke{0%,10%{stroke-dashoffset:190;opacity:.12}68%,90%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:.16}}
@keyframes apbStudioBrush{0%{left:15px;top:66px;transform:rotate(-42deg)}24%{left:51px;top:41px;transform:rotate(-34deg)}47%{left:104px;top:16px;transform:rotate(-46deg)}66%{left:87px;top:54px;transform:rotate(-38deg)}84%{left:28px;top:28px;transform:rotate(-45deg)}100%{left:15px;top:66px;transform:rotate(-42deg)}}
@media(max-width:900px){
  .apb-work.apb-is-landscape .apb-canvas-col{justify-content:flex-start!important;}
  .apb-work.apb-is-landscape #apb-zoom{display:block!important;align-self:center!important;margin:8px auto 0!important;}
}
@media(prefers-reduced-motion:reduce){.apb-ai-studio path,.apb-ai-studio .apb-paint-brush{animation:none!important;stroke-dashoffset:0!important;}}

/* v0.7.1: simple pink brush, readable size labels. */
.apb-size span{color:#111!important;font-weight:500!important;text-shadow:none!important;}
.apb-size.active span{color:#fff!important;font-weight:900!important;text-shadow:0 2px 4px rgba(22,93,18,.2)!important;}
.apb-ai-studio .apb-pink-stroke{stroke:#dc4b9f!important;stroke-width:11!important;opacity:.9!important;stroke-dasharray:180!important;stroke-dashoffset:180!important;animation:apbPinkLine 3.9s ease-in-out infinite!important;}
.apb-ai-studio .apb-paint-brush{width:9px!important;height:47px!important;background:linear-gradient(90deg,#b52378,#f06bb7 48%,#9d1d67)!important;animation:apbPinkBrush 3.9s ease-in-out infinite!important;}
.apb-ai-studio .apb-paint-brush:before{background:linear-gradient(135deg,#8f185f,#ef63b2 58%,#b6257b)!important;}
.apb-ai-studio .apb-paint-brush b{background:linear-gradient(#f6add5,#c52c82)!important;box-shadow:inset 0 0 0 1px rgba(118,19,76,.22)!important;}
@keyframes apbPinkLine{0%,8%{stroke-dashoffset:180;opacity:.18}72%,90%{stroke-dashoffset:0;opacity:.95}100%{stroke-dashoffset:0;opacity:.14}}
@keyframes apbPinkBrush{0%{left:11px;top:61px;transform:rotate(-42deg)}24%{left:34px;top:37px;transform:rotate(-36deg)}50%{left:65px;top:26px;transform:rotate(-43deg)}74%{left:99px;top:42px;transform:rotate(-37deg)}90%,100%{left:107px;top:49px;transform:rotate(-40deg)}}
@media(prefers-reduced-motion:reduce){.apb-ai-studio .apb-pink-stroke,.apb-ai-studio .apb-paint-brush{animation:none!important;stroke-dashoffset:0!important;}}

/* v0.7.2: clean full brush animation and resilience to mobile display/text zoom. */
.apb-brush-loader{position:relative;display:block;width:176px;height:96px;border-radius:16px;background:linear-gradient(145deg,#fff,#f8f3f6);border:1px solid rgba(174,48,128,.1);box-shadow:0 12px 28px rgba(95,45,77,.13);overflow:visible;}
.apb-brush-loader svg{display:block;width:160px;height:90px;margin:3px 8px;overflow:visible;}
.apb-brush-loader svg path{fill:none;stroke:#dc4b9f;stroke-width:9;stroke-linecap:round;stroke-dasharray:190;stroke-dashoffset:190;animation:apbCleanStroke 4s ease-in-out infinite;}
.apb-brush-tool{position:absolute;z-index:3;left:15px;top:49px;display:block;width:50px;height:9px;border-radius:0 8px 8px 0;background:linear-gradient(#f27abd,#c52882);box-shadow:0 3px 5px rgba(83,27,61,.2);transform:rotate(-14deg);transform-origin:8px 50%;animation:apbCleanBrush 4s ease-in-out infinite;}
.apb-brush-tool:before{content:"";position:absolute;left:-16px;top:-4px;width:18px;height:17px;background:linear-gradient(90deg,#8e285f,#e0529f);clip-path:polygon(0 50%,42% 0,100% 18%,100% 82%,42% 100%);}
.apb-brush-tool b{position:absolute;left:1px;top:-1px;width:9px;height:11px;border-radius:2px;background:linear-gradient(90deg,#e8c879,#a77926);box-shadow:inset 0 0 0 1px rgba(91,58,12,.2);}
@keyframes apbCleanStroke{0%,9%{stroke-dashoffset:190;opacity:.15}72%,90%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.12}}
@keyframes apbCleanBrush{0%{left:15px;top:51px;transform:rotate(-14deg)}28%{left:48px;top:31px;transform:rotate(-8deg)}55%{left:91px;top:30px;transform:rotate(5deg)}78%,92%{left:125px;top:47px;transform:rotate(14deg)}100%{left:15px;top:51px;transform:rotate(-14deg)}}
@media(prefers-reduced-motion:reduce){.apb-brush-loader svg path,.apb-brush-tool{animation:none!important;stroke-dashoffset:0!important;}}

@media(max-width:900px){
  html,#app,.apb-old{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important;}
  .apb-head b{display:block;max-width:calc(100vw - 72px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .apb-bottom{min-width:0!important;}
  .apb-actions{display:flex!important;max-width:58vw!important;align-items:center!important;gap:7px!important;}
  .apb-actions #apb-next{min-width:clamp(94px,29vw,112px)!important;max-width:38vw!important;padding:0 12px!important;white-space:nowrap!important;font-size:clamp(16px,4.7vw,19px)!important;}
  .apb-actions #apb-prev{flex:0 0 clamp(42px,12vw,48px)!important;width:clamp(42px,12vw,48px)!important;height:clamp(42px,12vw,48px)!important;}
  .apb-mobile-price{max-width:40vw!important;min-width:0!important;}
  .apb-mobile-price strong{font-size:clamp(24px,7.4vw,30px)!important;white-space:nowrap!important;}
  .apb-radio span,.apb-size span,.apb-style span,.apb-quality span{max-width:100%!important;overflow:hidden!important;}
}
@media(max-width:350px),(max-height:620px){
  .apb-actions{bottom:max(14px,env(safe-area-inset-bottom))!important;}
  .apb-actions #apb-next{height:43px!important;min-width:90px!important;font-size:16px!important;}
  .apb-actions #apb-prev{width:42px!important;height:42px!important;flex-basis:42px!important;}
  .apb-mobile-price strong{font-size:24px!important;}
}

/* v0.7.3: user-supplied brush silhouette in the site's pink-purple palette. */
.apb-brush-loader .apb-brush-tool{
  width:44px!important;height:44px!important;border-radius:0!important;
  background:linear-gradient(135deg,#ef65b2 0%,#c52d8b 48%,#7f35b3 100%)!important;
  -webkit-mask-image:var(--brush-icon)!important;mask-image:var(--brush-icon)!important;
  -webkit-mask-repeat:no-repeat!important;mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;mask-position:center!important;
  -webkit-mask-size:contain!important;mask-size:contain!important;
  box-shadow:none!important;filter:drop-shadow(0 4px 4px rgba(103,36,92,.24))!important;
  transform-origin:50% 50%!important;animation:apbCustomBrush 4s ease-in-out infinite!important;
}
.apb-brush-loader .apb-brush-tool:before,.apb-brush-loader .apb-brush-tool:after{display:none!important;content:none!important;}
@keyframes apbCustomBrush{0%{left:8px;top:42px;transform:rotate(-24deg)}28%{left:42px;top:23px;transform:rotate(-16deg)}56%{left:84px;top:22px;transform:rotate(-5deg)}80%,92%{left:123px;top:39px;transform:rotate(12deg)}100%{left:8px;top:42px;transform:rotate(-24deg)}}
@media(prefers-reduced-motion:reduce){.apb-brush-loader .apb-brush-tool{animation:none!important;}}
@media(max-width:900px){
  .apb-work.apb-is-final .apb-final-flat li{min-height:31px!important;padding-top:5px!important;padding-bottom:5px!important;}
}

/* v0.7.4: artistic brush galaxy and precisely centered back arrow. */
.apb-art-galaxy{position:relative;display:block;width:116px;height:116px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0 18%,#f8d9eb 28%,rgba(221,83,163,.18) 48%,rgba(126,52,177,.06) 67%,transparent 70%);box-shadow:0 0 28px rgba(204,54,147,.2);animation:apbGalaxyPulse 2.8s ease-in-out infinite;}
.apb-art-galaxy:before,.apb-art-galaxy:after{content:"";position:absolute;border-radius:50%;inset:15px;border:1px solid rgba(197,54,145,.18);transform:rotate(-22deg) scaleY(.62);}
.apb-art-galaxy:after{inset:27px;border-color:rgba(121,54,177,.22);transform:rotate(28deg) scaleY(.7);}
.apb-art-galaxy b{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;color:#c33791;font-size:29px;text-shadow:0 0 15px rgba(208,55,152,.42);animation:apbGalaxyStar 1.7s ease-in-out infinite;}
.apb-art-galaxy i{position:absolute;z-index:4;left:50%;top:50%;width:29px;height:29px;margin:-14.5px;background:linear-gradient(135deg,#f16bb6,#bf318c 50%,#8038b5);-webkit-mask-image:var(--brush-icon);mask-image:var(--brush-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;filter:drop-shadow(0 3px 3px rgba(95,31,83,.22));animation:apbBrushOrbit 4.2s linear infinite;}
.apb-art-galaxy i:nth-of-type(2){width:25px;height:25px;margin:-12.5px;background:linear-gradient(135deg,#8b43bc,#d94a9e);animation-delay:-1.4s;}
.apb-art-galaxy i:nth-of-type(3){width:22px;height:22px;margin:-11px;background:linear-gradient(135deg,#ee8bc3,#a73bb1);animation-delay:-2.8s;}
.apb-art-galaxy em{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#fff;box-shadow:-36px -18px 0 -1px rgba(224,100,172,.65),35px 22px 0 -1px rgba(128,65,184,.55),25px -35px 0 -2px rgba(222,83,161,.62),-29px 34px 0 -2px rgba(151,60,178,.5);}
@keyframes apbBrushOrbit{from{transform:rotate(0deg) translateX(45px) rotate(-12deg)}to{transform:rotate(360deg) translateX(45px) rotate(-372deg)}}
@keyframes apbGalaxyPulse{0%,100%{transform:scale(.97);box-shadow:0 0 24px rgba(204,54,147,.16)}50%{transform:scale(1.03);box-shadow:0 0 36px rgba(204,54,147,.28)}}
@keyframes apbGalaxyStar{0%,100%{transform:scale(.82);opacity:.65}50%{transform:scale(1.16);opacity:1}}
.apb-actions #apb-prev{display:flex!important;align-items:center!important;justify-content:center!important;padding:0 0 2px!important;line-height:1!important;text-align:center!important;font-family:Arial,sans-serif!important;}
@media(prefers-reduced-motion:reduce){.apb-art-galaxy,.apb-art-galaxy b,.apb-art-galaxy i{animation:none!important;}}

/* v0.7.5: visually center the back glyph independently of its button. */
.apb-actions #apb-prev{position:relative!important;padding:0!important;font-size:0!important;line-height:0!important;}
.apb-actions #apb-prev:before{content:"←";display:block;color:inherit;font:400 31px/1 Arial,sans-serif;transform:translateY(-4px);}
@media(max-width:390px){.apb-actions #apb-prev:before{font-size:29px;transform:translateY(-4px);}}

/* v0.8.0: frame configurator (step 4) and live artwork framing. */
.apb-frame-grid{display:grid;grid-template-columns:repeat(3,minmax(118px,1fr));gap:12px;max-width:640px;padding:5px 2px 12px;}
.apb-frame-card{position:relative;min-width:0;height:158px;padding:9px 7px 8px;border:0;border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(73,45,64,.12);cursor:pointer;color:#171217;font-family:Gilroy,Arial,sans-serif;transition:.2s ease;}
.apb-frame-card.active{transform:translateY(-2px);box-shadow:0 0 0 3px #39d722,0 12px 25px rgba(46,188,32,.26);}
.apb-frame-sample{display:flex;align-items:center;justify-content:center;width:88px;height:91px;margin:0 auto 6px;padding:7px;background:#f4f0f3;border-radius:8px;}
.apb-frame-sample img{display:block;width:62px;height:74px;object-fit:cover;box-shadow:0 4px 9px rgba(40,25,34,.2);}
.apb-frame-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:17px;}
.apb-frame-card em{display:block;margin-top:2px;color:#bd3989;font-size:12px;font-style:normal;font-weight:800;}
.apb-frame-sample[data-frame="black"] img{outline:7px solid #1b1b1d;box-shadow:0 5px 10px rgba(0,0,0,.32);}
.apb-frame-sample[data-frame="white"] img{outline:7px solid #fafafa;box-shadow:0 0 0 8px #d6d2d5,0 5px 10px rgba(0,0,0,.2);}
.apb-frame-sample[data-frame="wood"] img{outline:7px solid #b77c43;box-shadow:0 0 0 8px #71471f,0 5px 10px rgba(64,38,16,.3);}
.apb-frame-sample[data-frame="gold"] img{outline:7px solid #d8a91e;box-shadow:0 0 0 9px #8f6508,0 5px 11px rgba(99,68,0,.32);}
.apb-canvas-wrap canvas[data-frame="none"]{box-shadow:0 8px 18px rgba(33,22,29,.25)!important;}
.apb-canvas-wrap canvas[data-frame="black"]{box-shadow:0 0 0 9px #1b1b1d,0 15px 28px rgba(20,15,18,.32)!important;}
.apb-canvas-wrap canvas[data-frame="white"]{box-shadow:0 0 0 8px #fff,0 0 0 10px #d2cdd1,0 15px 28px rgba(30,22,27,.24)!important;}
.apb-canvas-wrap canvas[data-frame="wood"]{box-shadow:0 0 0 8px #bb8249,0 0 0 11px #70451f,0 15px 28px rgba(61,37,17,.3)!important;}
.apb-canvas-wrap canvas[data-frame="gold"]{box-shadow:0 0 0 8px #e0b52e,0 0 0 11px #8d6509,0 15px 30px rgba(92,64,0,.3)!important;}
.apb-options-col[data-frame="black"] .apb-floating-art img{outline:10px solid #1b1b1d;}
.apb-options-col[data-frame="white"] .apb-floating-art img{outline:9px solid #fff;box-shadow:0 0 0 11px #d2cdd1,0 20px 30px rgba(48,35,44,.19);}
.apb-options-col[data-frame="wood"] .apb-floating-art img{outline:10px solid #b77c43;box-shadow:0 0 0 13px #70451f,0 20px 30px rgba(48,35,44,.2);}
.apb-options-col[data-frame="gold"] .apb-floating-art img{outline:10px solid #dcae20;box-shadow:0 0 0 13px #8d6509,0 20px 30px rgba(48,35,44,.2);}
@media(max-width:900px){
  .apb-frame-grid{display:flex;width:100vw;max-width:100vw;gap:8px;margin:0 -12px;padding:8px 16px 14px;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .apb-frame-grid::-webkit-scrollbar{display:none;}
  .apb-frame-card{flex:0 0 calc((100vw - 50px)/3);width:calc((100vw - 50px)/3);height:124px;padding:7px 4px 5px;border-radius:8px;scroll-snap-align:start;}
  .apb-frame-sample{width:70px;height:76px;padding:6px;margin-bottom:3px;}
  .apb-frame-sample img{width:47px;height:57px;}
  .apb-frame-card strong{font-size:11px;line-height:13px;}
  .apb-frame-card em{font-size:10px;line-height:11px;}
}

/* v0.8.1 final overrides: real molding catalogue. */
.apb-frame-card{height:178px;padding:7px 7px 8px;overflow:hidden;}
.apb-frame-sample{width:100%;height:106px;padding:0;margin:0 auto 5px;overflow:hidden;background:#f8f6f7;border:1px solid #eee8ec;}
.apb-frame-sample .apb-molding-photo{width:100%;height:100%;object-fit:contain;box-shadow:none;outline:0;background:#fff;}
.apb-frame-sample .apb-no-frame-art{width:70px;height:92px;object-fit:cover;outline:0;box-shadow:0 4px 10px rgba(35,24,31,.18);}
.apb-frame-card strong{font-size:13px;line-height:15px;}
.apb-frame-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;color:#7b6b74;font-size:9px;line-height:11px;font-weight:700;letter-spacing:.02em;}
.apb-frame-card.active{background:linear-gradient(145deg,#fafff8,#fff);box-shadow:0 0 0 3px #39d722,0 12px 25px rgba(46,188,32,.26);}
.apb-canvas-wrap canvas[data-frame]{box-sizing:content-box!important;}
.apb-canvas-wrap canvas[data-frame="none"]{border:0!important;outline:0!important;box-shadow:0 8px 18px rgba(33,22,29,.25)!important;}
.apb-canvas-wrap canvas[data-frame="am5624-x811"]{border:11px ridge #c49a39!important;outline:4px solid #4b3018!important;box-shadow:0 0 0 2px #e1c16a,0 16px 30px rgba(55,35,15,.35)!important;}
.apb-canvas-wrap canvas[data-frame="am2034-b186"]{border:9px ridge #623321!important;outline:3px solid #2b1711!important;box-shadow:0 0 0 2px #8f5438,0 15px 28px rgba(42,23,16,.36)!important;}
.apb-canvas-wrap canvas[data-frame="dm2028-1112"]{border:9px solid #171719!important;outline:2px solid #3b3b3e!important;box-shadow:0 15px 28px rgba(16,16,18,.36)!important;}
.apb-canvas-wrap canvas[data-frame="dm2028-1647"]{border:9px ridge #c8aa59!important;outline:2px solid #856a2d!important;box-shadow:0 15px 28px rgba(74,56,20,.3)!important;}
.apb-canvas-wrap canvas[data-frame="am2034-x811"]{border:9px ridge #d2a538!important;outline:3px solid #664315!important;box-shadow:0 0 0 2px #f0d779,0 15px 29px rgba(74,48,13,.34)!important;}
.apb-options-col[data-frame] .apb-floating-art img{box-sizing:content-box;}
.apb-options-col[data-frame="none"] .apb-floating-art img{border:0;outline:0;}
.apb-options-col[data-frame="am5624-x811"] .apb-floating-art img{border:12px ridge #c49a39;outline:4px solid #4b3018;box-shadow:0 0 0 2px #e1c16a,0 20px 32px rgba(48,35,24,.25);}
.apb-options-col[data-frame="am2034-b186"] .apb-floating-art img{border:10px ridge #623321;outline:3px solid #2b1711;box-shadow:0 20px 32px rgba(48,35,30,.25);}
.apb-options-col[data-frame="dm2028-1112"] .apb-floating-art img{border:10px solid #171719;outline:2px solid #3b3b3e;box-shadow:0 20px 32px rgba(32,30,32,.27);}
.apb-options-col[data-frame="dm2028-1647"] .apb-floating-art img{border:10px ridge #c8aa59;outline:2px solid #856a2d;box-shadow:0 20px 32px rgba(55,45,22,.24);}
.apb-options-col[data-frame="am2034-x811"] .apb-floating-art img{border:10px ridge #d2a538;outline:3px solid #664315;box-shadow:0 0 0 2px #f0d779,0 20px 32px rgba(55,39,17,.25);}
@media(max-width:900px){
  .apb-frame-card{height:139px;padding:5px 4px 4px;}
  .apb-frame-sample{width:100%;height:83px;margin-bottom:3px;padding:0;}
  .apb-frame-sample .apb-no-frame-art{width:47px;height:66px;}
  .apb-frame-card strong{font-size:10.5px;line-height:12px;}
  .apb-frame-card small{font-size:7.5px;line-height:9px;}
  .apb-frame-card em{font-size:9px;line-height:10px;}
}

/* v0.9.10: тестовый первый экран в стиле Turn Me Royal. */
#app.apb-root-landing .apb-old{background:#f5f0e9!important;}
#app.apb-root-landing .apb-head{display:none!important;}
#app.apb-root-landing .apb-main{height:100dvh!important;background:#f5f0e9!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;}
#app.apb-root-landing .apb-work{height:auto!important;min-height:100dvh!important;padding:0!important;overflow:visible!important;background:#f5f0e9!important;}
#app.apb-root-landing .apb-stage{display:block!important;height:auto!important;overflow:visible!important;}
#app.apb-root-landing .apb-canvas-col,#app.apb-root-landing .apb-side,#app.apb-root-landing .apb-bottom{display:none!important;}
#app.apb-root-landing .apb-options-col{display:block!important;width:100%!important;height:auto!important;min-height:100dvh!important;padding:0!important;margin:0!important;overflow:visible!important;background:#f5f0e9!important;}
.apb-royal-landing{min-height:100dvh;background:#f5f0e9;color:#1e1830;font-family:Gilroy,Arial,sans-serif;overflow:hidden;}
.apb-royal-sale{height:36px;display:flex;align-items:center;justify-content:center;padding:0 14px;background:#3a305b;color:#fff8ec;font-size:14px;font-weight:900;letter-spacing:.02em;text-align:center;}
.apb-royal-head{height:61px;display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f5f0e9;border-bottom:1px solid rgba(58,48,91,.12);}
.apb-royal-logo{margin-right:auto;color:#3a305b;font-size:27px;font-weight:900;line-height:1;letter-spacing:-.05em;font-family:Georgia,serif;font-style:italic;}
.apb-royal-logo span{display:block;margin-bottom:-4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-family:Gilroy,Arial,sans-serif;font-style:normal;}
.apb-royal-credit{min-width:112px;height:28px;display:flex;align-items:center;justify-content:center;gap:3px;border-radius:64px;background:#dcd7df;color:#776d7b;font-size:13px;line-height:13px;text-align:center;}
.apb-royal-credit b{color:#41384b;}
.apb-royal-plus,.apb-royal-menu{width:28px;height:28px;border:0;border-radius:50%;background:#e4dfe7;color:#3a305b;font-size:23px;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;}
.apb-royal-menu{background:transparent;flex-direction:column;gap:4px;}
.apb-royal-menu i{width:22px;height:2px;background:#1e1830;border-radius:9px;}
.apb-royal-hero{padding:14px 16px 16px;background:#3a305b;color:#f8f4ed;}
.apb-royal-hero h1{display:block!important;margin:0 0 8px!important;color:#f8f4ed!important;font-family:Georgia,serif!important;font-style:italic!important;font-weight:900!important;font-size:38px!important;line-height:42px!important;letter-spacing:-.045em!important;text-align:left!important;}
.apb-royal-hero p{margin:0 0 18px;color:#f8f4ed;font-size:14px;line-height:20px;}
.apb-royal-upload{position:relative;height:132px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:2px dashed #b9abd7;border-radius:16px;background:#f8f4ed;color:#1e1830;text-align:center;cursor:pointer;box-shadow:0 12px 30px rgba(28,19,43,.14);}
.apb-royal-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.apb-royal-upload b{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#d8c7ee;color:#593d91;font-size:27px;font-family:Arial,sans-serif;line-height:1;}
.apb-royal-upload strong{font-size:16px;line-height:22px;font-weight:900;}
.apb-royal-upload span{color:#6e6373;font-size:14px;line-height:18px;}
.apb-royal-upload.has-photo{height:150px;display:grid;grid-template-columns:88px 1fr;grid-template-rows:auto auto;align-content:center;column-gap:14px;padding:14px 16px;text-align:left;border-style:solid;background:linear-gradient(145deg,#fffaf6,#f8eef6);box-shadow:0 14px 32px rgba(28,19,43,.18);}
.apb-royal-upload.has-photo img{grid-row:1/3;width:88px;height:112px;border-radius:13px;object-fit:cover;box-shadow:0 8px 18px rgba(24,14,32,.23);}
.apb-royal-upload.has-photo strong{align-self:end;font-size:18px;}
.apb-royal-upload.has-photo span{align-self:start;}
.apb-royal-upload.has-photo{grid-template-columns:116px minmax(0,1fr);}
.apb-royal-photo-stack{grid-row:1/3;width:116px;height:112px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:34px;align-content:center;gap:4px;padding:4px;border-radius:13px;overflow:auto;background:rgba(255,255,255,.72);box-shadow:0 8px 18px rgba(24,14,32,.16);scrollbar-width:thin;}
.apb-royal-upload.has-photo .apb-royal-photo-stack img{display:block!important;width:100%!important;height:34px!important;min-width:0!important;border-radius:6px!important;object-fit:cover!important;box-shadow:none!important;grid-row:auto!important;}
.apb-royal-upload.has-photo .apb-royal-photo-stack img:only-child{grid-column:1/-1;height:104px!important;}
.apb-royal-upload.has-photo strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.apb-royal-marquee{height:203px;padding:16px 0 0;background:#3a305b;overflow:hidden;}
.apb-royal-marquee div{display:flex;width:max-content;gap:12px;animation:apbRoyalMarquee 32s linear infinite;}
.apb-royal-marquee figure{width:152px;height:203px;flex:0 0 152px;margin:0;overflow:hidden;border-radius:16px;background:#241d39;box-shadow:0 8px 18px rgba(10,7,18,.28);}
.apb-royal-marquee img{width:100%;height:100%;display:block;object-fit:cover;}
.apb-royal-design-title{padding:16px 16px 10px;background:#3a305b;color:#f8f4ed;}
.apb-royal-design-title em{display:inline-flex;align-items:center;height:28px;margin-bottom:9px;padding:0 13px;border-radius:999px;background:#ffc84a;color:#1e1830;font-style:normal;font-size:13px;font-weight:900;}
.apb-royal-design-title strong{display:block;font-family:Georgia,serif;font-style:italic;font-size:28px;line-height:32px;font-weight:900;letter-spacing:-.035em;}
.apb-royal-design-title span{display:block;margin-top:5px;color:rgba(248,244,237,.78);font-size:13px;line-height:18px;}
.apb-royal-designs{height:244px;padding:0 0 18px;background:#3a305b;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;}
.apb-royal-designs::-webkit-scrollbar{display:none;}
.apb-royal-designs>div{display:flex;width:max-content;gap:12px;padding:0 16px;}
.apb-royal-design{position:relative;width:152px;height:226px;flex:0 0 152px;padding:0;border:0;border-radius:16px;background:#f8f4ed;color:#1e1830;overflow:hidden;box-shadow:0 8px 18px rgba(10,7,18,.28);font-family:Gilroy,Arial,sans-serif;text-align:left;scroll-snap-align:start;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease;}
.apb-royal-design.active{transform:translateY(-2px);box-shadow:0 0 0 3px #33df20,0 11px 22px rgba(26,13,38,.38);}
.apb-royal-design.active:after{content:"✓";position:absolute;right:9px;top:9px;width:27px;height:27px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#33df20;color:#fff;font-size:17px;font-weight:900;box-shadow:0 5px 12px rgba(51,223,32,.35);}
.apb-royal-design b{position:absolute;z-index:2;left:8px;top:8px;padding:4px 9px;border-radius:999px;background:#ffc84a;color:#1e1830;font-size:11px;line-height:1;font-weight:900;text-transform:uppercase;}
.apb-royal-design img{width:100%;height:158px;display:block;object-fit:cover;background:#241d39;}
.apb-royal-design span{display:block;padding:9px 10px 0;color:#1e1830;font-size:14px;line-height:17px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.apb-royal-design em{display:block;padding:2px 10px 0;color:#b13f83;font-size:12px;line-height:15px;font-style:normal;font-weight:900;}
.apb-royal-trust{display:flex;align-items:center;justify-content:center;gap:13px;padding:15px 10px 18px;background:#3a305b;color:#f8f4ed;font-size:12.5px;line-height:16px;white-space:nowrap;}
.apb-royal-trust span{color:#f8f4ed;}
.apb-royal-stats{height:94px;display:grid;grid-template-columns:1fr 1fr;background:#f5f0e9;border-bottom:1px solid rgba(58,48,91,.1);}
.apb-royal-stats div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;}
.apb-royal-stats div+div{border-left:1px solid rgba(58,48,91,.15);}
.apb-royal-stats b{color:#f0ad22;font-size:19px;letter-spacing:.03em;}
.apb-royal-stats strong{font-size:16px;line-height:19px;}
.apb-royal-stats span{color:#6f6576;font-size:13px;}
.apb-royal-next{padding:25px 16px 40px;background:#f5f0e9;}
.apb-royal-next em{display:inline-flex;align-items:center;height:30px;padding:0 16px;border-radius:999px;background:#ffc84a;color:#1e1830;font-style:normal;font-size:14px;font-weight:900;}
.apb-royal-next h2{margin:12px 0 0;color:#1e1830;font-family:Georgia,serif;font-style:italic;font-size:31px;line-height:36px;font-weight:900;letter-spacing:-.04em;}
.apb-royal-next p{margin:8px 0 16px;color:#6d6274;font-size:14px;line-height:20px;}
.apb-royal-next .apb-style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 16px;padding:0;max-width:none;width:100%;overflow:visible;}
.apb-royal-next .apb-style{height:148px;border:0;border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(56,38,65,.13);overflow:hidden;color:#1e1830;font-family:Gilroy,Arial,sans-serif;}
.apb-royal-next .apb-style.active{box-shadow:0 0 0 3px #28d51a,0 12px 26px rgba(40,213,26,.22);background:linear-gradient(145deg,#fff,#f7fff4);}
.apb-royal-next .apb-style img{width:100%;height:106px;display:block;object-fit:cover;border-radius:16px 16px 0 0;}
.apb-royal-next .apb-style span{display:flex;align-items:center;justify-content:center;height:42px;padding:0 6px;color:#1e1830;font-size:13px;line-height:15px;font-weight:800;text-align:center;}
.apb-royal-next .apb-top-badge{top:8px;right:8px;}
.apb-royal-continue{width:100%;height:56px;border:0;border-radius:14px;background:linear-gradient(135deg,#d95fa6,#b33a88 55%,#8b3eb9);color:#fff;font-size:18px;font-weight:900;font-family:Gilroy,Arial,sans-serif;box-shadow:0 14px 25px rgba(179,58,136,.28);cursor:pointer;}
.apb-royal-hero .apb-royal-continue{margin-top:14px;background:#fec84b!important;color:#1e1830!important;box-shadow:0 14px 26px rgba(254,200,75,.32)!important;}
@keyframes apbRoyalMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(min-width:901px){
  #app.apb-root-landing .apb-main{height:auto!important;}
  #app.apb-root-landing .apb-work{max-width:924px!important;margin:0 auto!important;}
  .apb-royal-landing{border-radius:0 0 24px 24px;box-shadow:0 16px 35px rgba(35,25,45,.12);}
  .apb-royal-hero{padding:40px 42px 28px;}
  .apb-royal-hero h1{max-width:620px!important;font-size:52px!important;line-height:58px!important;}
  .apb-royal-upload{max-width:520px;}
  .apb-royal-next .apb-style-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media(max-width:390px){
  .apb-royal-hero h1{font-size:34px!important;line-height:38px!important;}
  .apb-royal-credit{min-width:100px;font-size:12px;}
  .apb-royal-trust{gap:8px;font-size:11.5px;}
}

/* v0.9.16: delete uploaded photo on landing + style step as one premium horizontal row. */
.apb-royal-upload-box{position:relative;width:100%;max-width:520px;}
.apb-royal-upload-box .apb-royal-upload{max-width:none!important;}
.apb-royal-remove-photo{
  position:absolute;right:10px;top:10px;z-index:5;width:34px;height:34px;
  display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;
  background:#fff;color:#392f5a;font:900 28px/1 Arial,sans-serif;
  box-shadow:0 7px 18px rgba(28,19,43,.22);cursor:pointer;
}
.apb-royal-remove-photo:active{transform:scale(.96);}

/* v0.9.71: compact multi-photo uploader inspired by the provided reference. */
.apb-multi-upload-card{
  display:flex;flex-direction:column;gap:10px;padding:10px;
  border:2px dashed #c8bdd9;border-radius:16px;background:#faf8f4;
  box-shadow:0 12px 28px rgba(24,16,42,.18);box-sizing:border-box;
}
.apb-multi-photo-row{
  display:flex;align-items:stretch;gap:7px;width:100%;min-height:66px;
  overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.apb-multi-photo-row::-webkit-scrollbar{display:none;}
.apb-multi-photo,.apb-multi-photo-add{
  position:relative;flex:0 0 68px;width:68px;height:66px;margin:0;
  border-radius:10px;overflow:hidden;background:#e8dff5;
  box-shadow:inset 0 0 0 1px rgba(67,52,107,.08);
}
.apb-multi-photo img{display:block;width:100%;height:100%;object-fit:cover;}
.apb-multi-photo-remove{
  position:absolute;z-index:3;right:3px;top:3px;width:20px;height:20px;
  display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;
  background:rgba(36,29,57,.78);color:#fff;font:700 15px/1 Arial,sans-serif;
  box-shadow:0 2px 5px rgba(0,0,0,.25);cursor:pointer;
}
.apb-multi-photo-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;color:#43346b;}
.apb-multi-photo-add input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;}
.apb-multi-photo-add span{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border-radius:50%;background:#cdbbea;color:#43346b;font:800 24px/1 Arial,sans-serif;}
.apb-multi-photo-add small{font-size:10px;line-height:12px;font-weight:800;color:#746787;}
.apb-multi-prompt{position:relative;display:block;width:100%;}
.apb-multi-prompt input{
  width:100%;height:42px;padding:0 92px 0 12px;border:1px solid #d7d0df;border-radius:9px;
  outline:0;background:#fff;color:#312942;font:600 14px/1.2 Gilroy,Arial,sans-serif;box-sizing:border-box;
  box-shadow:inset 0 1px 3px rgba(38,29,57,.06);
}
.apb-multi-prompt input:focus{border-color:#8c70bd;box-shadow:0 0 0 3px rgba(140,112,189,.13);}
.apb-multi-prompt small{position:absolute;right:8px;top:50%;transform:translateY(-50%);padding:4px 7px;border-radius:999px;background:#ece9ef;color:#81798a;font-size:10px;line-height:1;font-weight:700;pointer-events:none;}
.apb-royal-hero .apb-multi-upload-card .apb-royal-continue{
  height:52px;margin-top:0!important;border-radius:10px!important;
  background:#43346b!important;color:#fff!important;font-size:16px!important;
  box-shadow:0 8px 18px rgba(67,52,107,.25)!important;
}
.apb-multi-upload-card .apb-royal-continue span{margin-right:7px;color:#fff;font-size:14px;}
@media(max-width:390px){
  .apb-multi-upload-card{padding:8px;gap:8px;}
  .apb-multi-photo,.apb-multi-photo-add{flex-basis:62px;width:62px;height:62px;}
  .apb-multi-prompt input{padding-right:78px;font-size:12px;}
  .apb-multi-prompt small{right:6px;padding:4px 6px;font-size:9px;}
}
.apb-style-royal-row{
  display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;grid-auto-flow:unset!important;grid-template-rows:none!important;
  width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;
  gap:12px!important;overflow-x:auto!important;overflow-y:visible!important;
  margin:0!important;padding:8px 4px 18px!important;scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;scrollbar-width:none!important;
}
.apb-style-royal-row::-webkit-scrollbar{display:none!important;}
.apb-style-royal-row .apb-style{
  position:relative!important;flex:0 0 152px!important;width:152px!important;min-width:152px!important;height:226px!important;
  padding:0!important;border:0!important;border-radius:16px!important;background:#f8f4ed!important;color:#1e1830!important;
  overflow:hidden!important;box-shadow:0 8px 18px rgba(10,7,18,.14)!important;
  font-family:Gilroy,Arial,sans-serif!important;text-align:left!important;scroll-snap-align:start!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.apb-style-royal-row .apb-style.active{
  transform:translateY(-2px)!important;
  box-shadow:0 0 0 3px #33df20,0 11px 22px rgba(26,13,38,.18)!important;
}
.apb-style-royal-row .apb-style.active:after{
  content:"✓";position:absolute;right:9px;top:9px;width:27px;height:27px;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  background:#33df20;color:#fff;font-size:17px;font-weight:900;box-shadow:0 5px 12px rgba(51,223,32,.35);
}
.apb-style-royal-row .apb-style img{
  width:100%!important;height:158px!important;display:block!important;object-fit:cover!important;
  background:#241d39!important;border-radius:0!important;
}
.apb-style-royal-row .apb-style span{
  position:static!important;display:block!important;height:auto!important;line-height:17px!important;
  padding:9px 10px 0!important;background:transparent!important;color:#1e1830!important;
  font-size:14px!important;font-weight:900!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.apb-style-royal-row .apb-style em{
  display:block!important;padding:2px 10px 0!important;color:#b13f83!important;
  font-size:12px!important;line-height:15px!important;font-style:normal!important;font-weight:900!important;
}
.apb-style-royal-row .apb-top-badge{
  position:absolute!important;z-index:2!important;left:8px!important;top:8px!important;right:auto!important;
  padding:4px 9px!important;border-radius:999px!important;background:#ffc84a!important;color:#1e1830!important;
  font-size:11px!important;line-height:1!important;font-weight:900!important;text-transform:uppercase!important;
}
@media(max-width:900px){
  .apb-style-royal-row{
    width:100vw!important;max-width:100vw!important;margin-left:-12px!important;margin-right:-12px!important;
    padding-left:16px!important;padding-right:16px!important;
  }
}

/* v0.9.17: simplified funnel — styles, vertical sizes, quality, final. */
.apb-style-royal-row .apb-style{
  border-radius:18px 18px 0 0!important;
}
.apb-style-royal-row .apb-style img{
  border-radius:18px 18px 0 0!important;
}
.apb-style-royal-row .apb-style.active:after{
  top:10px!important;
}
.apb-size-only-row .apb-size-area{width:100%!important;height:auto!important;display:block!important;}
.apb-size-only-row .apb-size-grid{margin-left:0;margin-right:0;}
@media(max-width:900px){
  .apb-size-only-row{height:100%!important;display:flex!important;flex-direction:column!important;}
  .apb-size-only-row .apb-size-area{height:100%!important;}
  .apb-size-only-row .apb-size-grid{height:auto!important;margin:0 -12px!important;}
  .apb-size-only-row .apb-orient-title{display:block!important;padding:0 4px 8px!important;color:#201828!important;font-size:14px!important;font-weight:800!important;}
}

/* v0.9.18: taller quality cards, unified cards for styles/sizes, no zoom strip, no final screen. */
#apb-zoom{display:none!important;}
.apb-quality-grid,.apb-style-royal-row,.apb-size-grid{
  display:flex!important;flex-wrap:nowrap!important;gap:12px!important;overflow-x:auto!important;overflow-y:visible!important;
  padding:8px 4px 18px!important;scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;
}
.apb-quality-grid::-webkit-scrollbar,.apb-style-royal-row::-webkit-scrollbar,.apb-size-grid::-webkit-scrollbar{display:none!important;}
.apb-quality,.apb-style-royal-row .apb-style,.apb-size{
  position:relative!important;flex:0 0 150px!important;width:150px!important;min-width:150px!important;height:388px!important;
  padding:0!important;border:0!important;border-radius:18px!important;background:#fff!important;color:#1e1830!important;
  overflow:hidden!important;box-shadow:0 8px 18px rgba(10,7,18,.14)!important;
  font-family:Gilroy,Arial,sans-serif!important;text-align:left!important;scroll-snap-align:start!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.apb-quality.active,.apb-style-royal-row .apb-style.active,.apb-size.active{
  transform:translateY(-2px)!important;background:linear-gradient(145deg,#fafff8,#fff)!important;
  box-shadow:0 0 0 3px #33df20,0 11px 22px rgba(26,13,38,.18)!important;
}
.apb-quality:after,.apb-style-royal-row .apb-style:after,.apb-size:after{
  content:"";position:absolute;inset:0;pointer-events:none;border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 42%);
}
.apb-quality img,.apb-quality-photo,.apb-style-royal-row .apb-style img,.apb-size img{
  width:100%!important;height:270px!important;display:block!important;object-fit:cover!important;margin:0!important;
  border-radius:18px 18px 0 0!important;background:#f6f0f5!important;box-shadow:none!important;
}
.apb-size img{object-fit:contain!important;padding:8px!important;}
.apb-quality span,.apb-style-royal-row .apb-style span,.apb-size span{
  position:static!important;display:block!important;height:auto!important;min-height:0!important;line-height:18px!important;
  padding:12px 11px 0!important;background:transparent!important;color:#1e1830!important;
  font-size:15px!important;font-weight:900!important;text-align:left!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.apb-quality span b,.apb-quality span em,.apb-quality span strong,.apb-style-royal-row .apb-style em{
  display:block!important;font-style:normal!important;
}
.apb-quality span em,.apb-style-royal-row .apb-style em{
  padding:3px 0 0!important;color:#b13f83!important;font-size:12px!important;line-height:15px!important;font-weight:900!important;
}
.apb-quality span strong{padding-top:3px!important;color:#b13f83!important;font-size:12px!important;line-height:15px!important;}
.apb-size.active span,.apb-quality.active span,.apb-style-royal-row .apb-style.active span{color:#1e1830!important;text-shadow:none!important;}
.apb-quality-crown-wrap{z-index:4!important;}
@media(max-width:900px){
  .apb-quality-grid,.apb-style-royal-row,.apb-size-grid{
    width:100vw!important;max-width:100vw!important;margin-left:-12px!important;margin-right:-12px!important;
    padding-left:16px!important;padding-right:16px!important;
  }
  .apb-quality,.apb-style-royal-row .apb-style,.apb-size{
    flex-basis:145px!important;width:145px!important;min-width:145px!important;height:380px!important;
  }
  .apb-quality img,.apb-quality-photo,.apb-style-royal-row .apb-style img,.apb-size img{
    height:264px!important;
  }
}
@media(max-width:350px),(max-height:620px){
  .apb-quality,.apb-style-royal-row .apb-style,.apb-size{height:316px!important;}
  .apb-quality img,.apb-quality-photo,.apb-style-royal-row .apb-style img,.apb-size img{height:214px!important;}
}

/* v0.9.19: rollback unified cards; only quality cards are vertical 1:2. */
#apb-zoom{display:block!important;}

.apb-style-royal-row{
  display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;grid-auto-flow:unset!important;grid-template-rows:none!important;
  width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;gap:12px!important;
  overflow-x:auto!important;overflow-y:visible!important;margin:0!important;padding:8px 4px 18px!important;
  scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important;scrollbar-width:none!important;
}
.apb-style-royal-row::-webkit-scrollbar{display:none!important;}
.apb-style-royal-row .apb-style{
  position:relative!important;flex:0 0 152px!important;width:152px!important;min-width:152px!important;height:226px!important;
  padding:0!important;border:0!important;border-radius:18px 18px 0 0!important;background:#f8f4ed!important;color:#1e1830!important;
  overflow:hidden!important;box-shadow:0 8px 18px rgba(10,7,18,.14)!important;
  font-family:Gilroy,Arial,sans-serif!important;text-align:left!important;scroll-snap-align:start!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.apb-style-royal-row .apb-style.active{
  transform:translateY(-2px)!important;background:#fff!important;box-shadow:0 0 0 3px #33df20,0 11px 22px rgba(26,13,38,.18)!important;
}
.apb-style-royal-row .apb-style:after{border-radius:18px 18px 0 0!important;}
.apb-style-royal-row .apb-style img{
  width:100%!important;height:158px!important;display:block!important;object-fit:cover!important;background:#241d39!important;
  border-radius:18px 18px 0 0!important;padding:0!important;margin:0!important;box-shadow:none!important;
}
.apb-style-royal-row .apb-style span{
  position:static!important;display:block!important;height:auto!important;line-height:17px!important;padding:9px 10px 0!important;
  background:transparent!important;color:#1e1830!important;font-size:14px!important;font-weight:900!important;text-align:left!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.apb-style-royal-row .apb-style em{
  display:block!important;padding:2px 10px 0!important;color:#b13f83!important;font-size:12px!important;line-height:15px!important;
  font-style:normal!important;font-weight:900!important;
}

.apb-size-grid{
  display:grid!important;grid-template-columns:repeat(5,112px)!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;
  gap:6px!important;width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;overflow:visible!important;
  margin-left:0!important;margin-right:0!important;padding:4px 2px 12px!important;scroll-snap-type:none!important;background:transparent!important;
}
.apb-size-grid::-webkit-scrollbar{display:none!important;}
.apb-size{
  position:relative!important;flex:none!important;width:auto!important;min-width:0!important;height:132px!important;
  border:1px solid #d7d7d7!important;border-radius:8px!important;background:#fff!important;padding:4px!important;text-align:center!important;
  overflow:hidden!important;box-shadow:0 6px 14px rgba(60,45,54,.12)!important;scroll-snap-align:start!important;transform:none!important;
}
.apb-size.active{
  background:#18df00!important;border-color:#18df00!important;box-shadow:0 8px 18px rgba(24,223,0,.28)!important;transform:none!important;
}
.apb-size:after{display:none!important;}
.apb-size img{
  width:78px!important;height:82px!important;object-fit:contain!important;display:block!important;margin:0 auto 2px!important;
  padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;
}
.apb-size span{
  position:static!important;display:block!important;padding:0!important;background:transparent!important;text-align:center!important;color:#111!important;
  font-size:17px!important;line-height:1.1!important;font-weight:500!important;white-space:normal!important;overflow:visible!important;
}
.apb-size.active span{color:#fff!important;font-weight:900!important;text-shadow:none!important;}

.apb-quality-grid{
  display:flex!important;flex-wrap:nowrap!important;gap:12px!important;width:auto!important;max-width:none!important;height:auto!important;min-height:0!important;
  overflow-x:auto!important;overflow-y:visible!important;margin:0!important;padding:8px 4px 18px!important;
  scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;background:transparent!important;
}
.apb-quality-grid::-webkit-scrollbar{display:none!important;}
.apb-quality{
  position:relative!important;flex:0 0 150px!important;width:150px!important;min-width:150px!important;height:300px!important;
  padding:0!important;border:0!important;border-radius:18px!important;background:#fff!important;color:#1e1830!important;
  overflow:hidden!important;box-shadow:0 8px 18px rgba(10,7,18,.14)!important;text-align:left!important;scroll-snap-align:start!important;
  transition:transform .18s ease,box-shadow .18s ease!important;animation:none!important;
}
.apb-quality.active{
  transform:translateY(-2px)!important;background:linear-gradient(145deg,#fafff8,#fff)!important;
  box-shadow:0 0 0 3px #33df20,0 11px 22px rgba(26,13,38,.18)!important;
}
.apb-quality:after{
  content:""!important;position:absolute!important;inset:0!important;pointer-events:none!important;border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,0) 42%)!important;
}
.apb-quality img,.apb-quality-photo{
  width:100%!important;height:190px!important;display:block!important;object-fit:cover!important;margin:0!important;padding:0!important;
  border-radius:18px 18px 0 0!important;background:#f6f0f5!important;box-shadow:none!important;
}
.apb-quality span{
  position:static!important;display:block!important;height:auto!important;min-height:0!important;line-height:18px!important;
  padding:12px 11px 0!important;background:transparent!important;color:#1e1830!important;font-size:15px!important;font-weight:900!important;
  text-align:left!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.apb-quality span b,.apb-quality span em,.apb-quality span strong{display:block!important;font-style:normal!important;}
.apb-quality span em,.apb-quality span strong{padding-top:3px!important;color:#b13f83!important;font-size:12px!important;line-height:15px!important;font-weight:900!important;}
.apb-quality.active span{color:#1e1830!important;text-shadow:none!important;}
.apb-quality-crown-wrap{z-index:4!important;}

@media(max-width:900px){
  .apb-style-royal-row{
    width:100vw!important;max-width:100vw!important;margin-left:-12px!important;margin-right:-12px!important;
    padding-left:16px!important;padding-right:16px!important;
  }
  .apb-style-royal-row .apb-style{flex-basis:152px!important;width:152px!important;min-width:152px!important;height:226px!important;}
  .apb-style-royal-row .apb-style img{height:158px!important;}

  .apb-size-grid{
    display:flex!important;width:100vw!important;max-width:100vw!important;height:auto!important;overflow-x:auto!important;overflow-y:hidden!important;
    gap:8px!important;margin:0 -12px!important;padding:4px 20px 12px!important;scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;background:transparent!important;
  }
  .apb-size{flex:0 0 108px!important;width:108px!important;min-width:108px!important;height:132px!important;}
  .apb-size img{width:78px!important;height:82px!important;}
  .apb-size span{font-size:17px!important;}

  .apb-quality-grid{
    width:100vw!important;max-width:100vw!important;margin-left:-12px!important;margin-right:-12px!important;
    padding-left:16px!important;padding-right:16px!important;
  }
  .apb-quality{flex-basis:145px!important;width:145px!important;min-width:145px!important;height:290px!important;}
  .apb-quality img,.apb-quality-photo{height:184px!important;}
}

@media(max-width:350px),(max-height:620px){
  .apb-quality{height:290px!important;}
  .apb-quality img,.apb-quality-photo{height:184px!important;}
}

/* v0.9.20: visible quality crowns + true rounded portrait quality cards. */
.apb-quality{
  border-radius:22px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.apb-quality-photo{
  border-radius:22px 22px 0 0!important;
}
.apb-quality .apb-quality-crown-wrap{
  position:absolute!important;
  z-index:20!important;
  top:10px!important;
  right:10px!important;
  left:auto!important;
  width:42px!important;
  height:42px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(188,58,139,.22)!important;
  box-shadow:0 6px 15px rgba(48,21,38,.16)!important;
  transform:none!important;
  overflow:visible!important;
  pointer-events:none!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}
.apb-quality .apb-quality-crown-wrap.gold{
  background:rgba(255,244,190,.9)!important;
  border-color:rgba(218,145,0,.38)!important;
  box-shadow:0 7px 17px rgba(202,135,0,.28)!important;
}
.apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
.apb-quality img.apb-quality-crown-icon{
  position:static!important;
  inset:auto!important;
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:none!important;
  filter:brightness(0) saturate(100%) invert(33%) sepia(83%) saturate(2419%) hue-rotate(295deg) brightness(93%) contrast(94%) drop-shadow(0 2px 2px rgba(124,35,101,.22))!important;
}
.apb-quality .apb-quality-crown-wrap.gold img.apb-quality-crown-icon,
.apb-quality img.apb-quality-crown-icon.gold{
  filter:brightness(0) saturate(100%) invert(61%) sepia(99%) saturate(2771%) hue-rotate(4deg) brightness(104%) contrast(108%) drop-shadow(0 2px 3px rgba(135,87,0,.32))!important;
}

@media(max-width:900px){
  .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    height:31dvh!important;
    min-height:205px!important;
    max-height:255px!important;
    padding-top:6px!important;
    padding-bottom:4px!important;
  }
  .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap{
    height:calc(100% - 18px)!important;
    min-height:180px!important;
  }
  .apb-stage:has(.apb-quality-grid) .apb-options-col{
    flex:1 1 auto!important;
    min-height:300px!important;
    overflow:visible!important;
    padding-top:8px!important;
  }
  .apb-quality-grid{
    height:320px!important;
    min-height:320px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding-top:14px!important;
    padding-bottom:16px!important;
  }
  .apb-quality{
    flex:0 0 145px!important;
    width:145px!important;
    min-width:145px!important;
    height:290px!important;
    border-radius:22px!important;
  }
  .apb-quality img.apb-quality-photo,
  .apb-quality-photo{
    width:100%!important;
    height:184px!important;
    border-radius:22px 22px 0 0!important;
    object-fit:cover!important;
  }
  .apb-quality span{
    height:106px!important;
    min-height:106px!important;
    padding:12px 11px 8px!important;
    font-size:15px!important;
    line-height:18px!important;
    background:#fff!important;
    border-radius:0 0 22px 22px!important;
  }
  .apb-quality.active span{
    background:#fff!important;
    color:#1e1830!important;
  }
  .apb-quality .apb-quality-crown-wrap{
    top:9px!important;
    right:9px!important;
    width:40px!important;
    height:40px!important;
    padding:7px!important;
  }
  .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
  .apb-quality img.apb-quality-crown-icon{
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    max-width:26px!important;
    min-height:26px!important;
    max-height:26px!important;
  }
}

/* v0.9.21: restore main canvas size on quality step; quality cards 120% taller. */
.apb-quality-grid{
  overflow-x:auto!important;
  overflow-y:visible!important;
}
.apb-quality{
  width:150px!important;
  min-width:150px!important;
  flex:0 0 150px!important;
  height:330px!important;
  border-radius:22px!important;
}
.apb-quality img.apb-quality-photo,
.apb-quality-photo{
  width:100%!important;
  height:214px!important;
  object-fit:cover!important;
  border-radius:22px 22px 0 0!important;
}
.apb-quality span{
  height:116px!important;
  min-height:116px!important;
  padding:12px 11px 9px!important;
  border-radius:0 0 22px 22px!important;
}

@media(max-width:900px){
  .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    width:100vw!important;
    height:48svh!important;
    min-height:335px!important;
    max-height:430px!important;
    padding-top:14px!important;
    padding-bottom:0!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap{
    width:100vw!important;
    max-width:100vw!important;
    height:calc(100% - 32px)!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
  }
  .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:82vw!important;
    max-height:100%!important;
  }
  .apb-stage:has(.apb-quality-grid) #apb-zoom{
    display:block!important;
    width:74vw!important;
    max-width:360px!important;
    margin:8px auto 0!important;
  }
  .apb-stage:has(.apb-quality-grid) .apb-options-col{
    width:100vw!important;
    min-height:352px!important;
    overflow:visible!important;
    padding:6px 0 0!important;
  }
  .apb-quality-grid{
    display:flex!important;
    width:100vw!important;
    max-width:100vw!important;
    height:350px!important;
    min-height:350px!important;
    gap:12px!important;
    margin:0!important;
    padding:8px 18px 22px!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
    scrollbar-width:none!important;
  }
  .apb-quality-grid::-webkit-scrollbar{display:none!important;}
  .apb-quality{
    flex:0 0 145px!important;
    width:145px!important;
    min-width:145px!important;
    height:319px!important;
    border-radius:22px!important;
    scroll-snap-align:start!important;
  }
  .apb-quality img.apb-quality-photo,
  .apb-quality-photo{
    height:207px!important;
    border-radius:22px 22px 0 0!important;
  }
  .apb-quality span{
    height:112px!important;
    min-height:112px!important;
    padding:12px 11px 9px!important;
    border-radius:0 0 22px 22px!important;
  }
  .apb-quality .apb-quality-crown-wrap{
    top:10px!important;
    right:10px!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-quality-grid) .apb-canvas-col{
    height:47svh!important;
    min-height:320px!important;
    max-height:410px!important;
  }
  .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:80vw!important;
  }
  .apb-quality-grid{
    height:344px!important;
    min-height:344px!important;
    gap:10px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .apb-quality{
    flex-basis:145px!important;
    width:145px!important;
    min-width:145px!important;
    height:319px!important;
  }
  .apb-quality img.apb-quality-photo,
  .apb-quality-photo{
    height:207px!important;
  }
}

/* v0.9.22: one main canvas size for all builder steps, same as design/style screen. */
@media(max-width:900px){
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-col{
    width:100vw!important;
    height:48svh!important;
    min-height:335px!important;
    max-height:430px!important;
    padding-top:14px!important;
    padding-bottom:0!important;
    align-items:center!important;
    justify-content:flex-start!important;
    position:relative!important;
    top:auto!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap{
    width:100vw!important;
    max-width:100vw!important;
    height:calc(100% - 32px)!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    margin:0 auto!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap canvas{
    max-width:82vw!important;
    max-height:100%!important;
    margin:0 auto!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) #apb-zoom{
    display:block!important;
    width:74vw!important;
    max-width:360px!important;
    margin:8px auto 0!important;
  }
  .apb-stage:has(.apb-quality-grid) .apb-options-col{
    min-height:352px!important;
    overflow:visible!important;
  }
}

@media(max-width:390px){
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-col{
    height:47svh!important;
    min-height:320px!important;
    max-height:410px!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap canvas{
    max-width:80vw!important;
  }
}

/* v0.9.23: hide zoom slider on every screen. */
#apb-zoom,
.apb-zoom,
input#apb-zoom,
.apb-old #apb-zoom,
.apb-stage #apb-zoom,
.apb-canvas-col #apb-zoom{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  flex:0 0 0!important;
}

/* v0.9.24: design screen cards like Photoshop mockup — tall image cards. */
.apb-style-royal-row{
  display:flex!important;
  flex-wrap:nowrap!important;
  width:100vw!important;
  max-width:100vw!important;
  height:300px!important;
  min-height:300px!important;
  gap:12px!important;
  margin:0!important;
  padding:8px 14px 18px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
  scrollbar-width:none!important;
  background:#fff!important;
}
.apb-style-royal-row::-webkit-scrollbar{display:none!important;}
.apb-style-royal-row .apb-style{
  position:relative!important;
  flex:0 0 154px!important;
  width:154px!important;
  min-width:154px!important;
  height:280px!important;
  min-height:280px!important;
  max-height:280px!important;
  padding:0!important;
  border:0!important;
  border-radius:20px 20px 0 0!important;
  background:#f5f1f4!important;
  overflow:hidden!important;
  scroll-snap-align:center!important;
  box-shadow:0 9px 22px rgba(28,17,26,.13)!important;
  transform:none!important;
}
.apb-style-royal-row .apb-style.active{
  border:4px solid #27d82d!important;
  box-shadow:0 0 0 1px rgba(39,216,45,.12),0 12px 24px rgba(39,216,45,.20)!important;
  transform:none!important;
  background:#f5f1f4!important;
}
.apb-style-royal-row .apb-style img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:16px 16px 0 0!important;
  background:#f5f1f4!important;
  box-shadow:none!important;
}
.apb-style-royal-row .apb-style span,
.apb-style-royal-row .apb-style em,
.apb-style-royal-row .apb-top-badge{
  display:none!important;
}
.apb-style-royal-row .apb-style:after{
  display:none!important;
}

@media(max-width:900px){
  .apb-style-royal-row{
    width:100vw!important;
    max-width:100vw!important;
    height:300px!important;
    min-height:300px!important;
    gap:12px!important;
    margin:0!important;
    padding:8px 14px 18px!important;
  }
  .apb-style-royal-row .apb-style{
    flex-basis:154px!important;
    width:154px!important;
    min-width:154px!important;
    height:280px!important;
    min-height:280px!important;
    max-height:280px!important;
    border-radius:20px 20px 0 0!important;
  }
}

@media(max-width:390px){
  .apb-style-royal-row{
    height:292px!important;
    min-height:292px!important;
    gap:11px!important;
    padding:7px 13px 16px!important;
  }
  .apb-style-royal-row .apb-style{
    flex-basis:148px!important;
    width:148px!important;
    min-width:148px!important;
    height:272px!important;
    min-height:272px!important;
    max-height:272px!important;
  }
}

/* v0.9.25: restore style screen as 3x2 grid and make client canvas large on every step. */
@media(max-width:900px){
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-col{
    width:100vw!important;
    height:58svh!important;
    min-height:485px!important;
    max-height:570px!important;
    padding-top:12px!important;
    padding-bottom:0!important;
    align-items:center!important;
    justify-content:flex-start!important;
    position:relative!important;
    top:auto!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap{
    width:100vw!important;
    max-width:100vw!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    margin:0 auto!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap canvas{
    max-width:88vw!important;
    max-height:100%!important;
    margin:0 auto!important;
    box-shadow:0 12px 30px rgba(38,25,35,.20)!important;
  }

  .apb-style-royal-row{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-rows:repeat(2,126px)!important;
    grid-auto-columns:calc((100vw - 28px)/3)!important;
    grid-template-columns:none!important;
    width:100vw!important;
    max-width:100vw!important;
    height:268px!important;
    min-height:268px!important;
    gap:8px!important;
    margin:0!important;
    padding:4px 6px 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }
  .apb-style-royal-row::-webkit-scrollbar{display:none!important;}
  .apb-style-royal-row .apb-style{
    position:relative!important;
    display:block!important;
    flex:none!important;
    width:calc((100vw - 28px)/3)!important;
    min-width:0!important;
    max-width:none!important;
    height:126px!important;
    min-height:126px!important;
    max-height:126px!important;
    padding:0!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    box-shadow:0 2px 8px rgba(34,22,31,.13)!important;
    transform:none!important;
  }
  .apb-style-royal-row .apb-style.active{
    border:0!important;
    box-shadow:0 2px 8px rgba(34,22,31,.13)!important;
    transform:none!important;
    background:#fff!important;
  }
  .apb-style-royal-row .apb-style img{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:86px!important;
    min-height:86px!important;
    max-height:86px!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:8px 8px 0 0!important;
    background:#f5f1f4!important;
    box-shadow:none!important;
  }
  .apb-style-royal-row .apb-style span{
    position:static!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:40px!important;
    min-height:40px!important;
    padding:0 3px!important;
    background:#fff!important;
    color:#1e1830!important;
    font-size:12px!important;
    line-height:13px!important;
    font-weight:800!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:hidden!important;
    border-radius:0 0 8px 8px!important;
  }
  .apb-style-royal-row .apb-style.active span{
    background:#38d722!important;
    color:#fff!important;
    font-weight:900!important;
  }
  .apb-style-royal-row .apb-style em,
  .apb-style-royal-row .apb-top-badge{
    display:none!important;
  }
  .apb-style-royal-row .apb-style:after{display:none!important;}
}

@media(max-width:390px){
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-col{
    height:56svh!important;
    min-height:455px!important;
    max-height:540px!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap canvas{
    max-width:86vw!important;
  }
  .apb-style-royal-row{
    grid-template-rows:repeat(2,118px)!important;
    grid-auto-columns:calc((100vw - 24px)/3)!important;
    height:252px!important;
    min-height:252px!important;
    gap:7px!important;
    padding:4px 5px 10px!important;
  }
  .apb-style-royal-row .apb-style{
    width:calc((100vw - 24px)/3)!important;
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
  }
  .apb-style-royal-row .apb-style img{
    height:80px!important;
    min-height:80px!important;
    max-height:80px!important;
  }
  .apb-style-royal-row .apb-style span{
    height:38px!important;
    min-height:38px!important;
    font-size:11px!important;
    line-height:12px!important;
  }
}

/* v0.9.26: slightly smaller proportions, closer to reference screenshot. */
@media(max-width:900px){
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-col{
    height:50svh!important;
    min-height:382px!important;
    max-height:485px!important;
    padding-top:10px!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap{
    height:100%!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap canvas{
    max-width:82vw!important;
    max-height:100%!important;
  }
  .apb-style-royal-row{
    grid-template-rows:repeat(2,116px)!important;
    grid-auto-columns:calc((100vw - 26px)/3)!important;
    height:246px!important;
    min-height:246px!important;
    gap:7px!important;
    padding:4px 6px 9px!important;
  }
  .apb-style-royal-row .apb-style{
    width:calc((100vw - 26px)/3)!important;
    height:116px!important;
    min-height:116px!important;
    max-height:116px!important;
    border-radius:8px!important;
  }
  .apb-style-royal-row .apb-style img{
    height:78px!important;
    min-height:78px!important;
    max-height:78px!important;
  }
  .apb-style-royal-row .apb-style span{
    height:38px!important;
    min-height:38px!important;
    font-size:11px!important;
    line-height:12px!important;
  }
}

@media(max-width:390px){
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-col{
    height:49svh!important;
    min-height:360px!important;
    max-height:455px!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap canvas{
    max-width:80vw!important;
  }
  .apb-style-royal-row{
    grid-template-rows:repeat(2,110px)!important;
    grid-auto-columns:calc((100vw - 24px)/3)!important;
    height:234px!important;
    min-height:234px!important;
    gap:7px!important;
    padding:4px 5px 9px!important;
  }
  .apb-style-royal-row .apb-style{
    width:calc((100vw - 24px)/3)!important;
    height:110px!important;
    min-height:110px!important;
    max-height:110px!important;
  }
  .apb-style-royal-row .apb-style img{
    height:74px!important;
    min-height:74px!important;
    max-height:74px!important;
  }
  .apb-style-royal-row .apb-style span{
    height:36px!important;
    min-height:36px!important;
    font-size:10.5px!important;
    line-height:11.5px!important;
  }
}

/* v0.9.27: final reference proportions for style screen. */
@media(max-width:900px){
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-col{
    height:54svh!important;
    min-height:405px!important;
    max-height:560px!important;
    padding-top:14px!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap{
    height:100%!important;
    align-items:center!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap canvas{
    max-width:74vw!important;
    max-height:100%!important;
    box-shadow:0 12px 28px rgba(38,25,35,.18)!important;
  }

  .apb-style-royal-row{
    grid-template-rows:repeat(2,122px)!important;
    grid-auto-columns:calc((100vw - 28px)/3)!important;
    height:258px!important;
    min-height:258px!important;
    gap:8px!important;
    padding:4px 6px 10px!important;
  }
  .apb-style-royal-row .apb-style{
    width:calc((100vw - 28px)/3)!important;
    height:122px!important;
    min-height:122px!important;
    max-height:122px!important;
    border-radius:8px!important;
  }
  .apb-style-royal-row .apb-style img{
    height:84px!important;
    min-height:84px!important;
    max-height:84px!important;
  }
  .apb-style-royal-row .apb-style span{
    height:38px!important;
    min-height:38px!important;
    font-size:11.5px!important;
    line-height:12.5px!important;
  }
}

@media(max-width:390px){
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-col{
    height:53svh!important;
    min-height:390px!important;
    max-height:540px!important;
  }
  .apb-work:not(.apb-is-landing):not(.apb-is-final) .apb-canvas-wrap canvas{
    max-width:74vw!important;
  }
  .apb-style-royal-row{
    grid-template-rows:repeat(2,118px)!important;
    grid-auto-columns:calc((100vw - 26px)/3)!important;
    height:250px!important;
    min-height:250px!important;
    gap:7px!important;
    padding:4px 6px 9px!important;
  }
  .apb-style-royal-row .apb-style{
    width:calc((100vw - 26px)/3)!important;
    height:118px!important;
    min-height:118px!important;
    max-height:118px!important;
  }
  .apb-style-royal-row .apb-style img{
    height:80px!important;
    min-height:80px!important;
    max-height:80px!important;
  }
  .apb-style-royal-row .apb-style span{
    height:38px!important;
    min-height:38px!important;
    font-size:11px!important;
    line-height:12px!important;
  }
}

/* v0.9.28: restore design/style screen exactly like v099, now as first step after landing. */
@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-canvas-col{
    width:100vw!important;
    height:48svh!important;
    min-height:335px!important;
    max-height:430px!important;
    padding-top:14px!important;
    padding-bottom:0!important;
    align-items:center!important;
    justify-content:flex-start!important;
    position:relative!important;
    top:auto!important;
  }
  .apb-stage:has(.apb-style-grid) .apb-canvas-wrap{
    width:100vw!important;
    max-width:100vw!important;
    height:calc(100% - 32px)!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:visible!important;
    margin:0 auto!important;
  }
  .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas{
    max-width:82vw!important;
    max-height:100%!important;
    margin:0 auto!important;
    box-shadow:0 6px 18px rgba(0,0,0,.42)!important;
  }
  .apb-stage:has(.apb-style-grid) #apb-zoom{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:74vw!important;
    min-width:0!important;
    max-width:360px!important;
    height:12px!important;
    min-height:12px!important;
    max-height:12px!important;
    margin:8px auto 0!important;
    padding:0!important;
    border:0!important;
    flex:0 0 12px!important;
    accent-color:#c75594!important;
  }
  .apb-stage:has(.apb-style-grid) .apb-options-col{
    width:100vw!important;
    min-height:0!important;
    height:auto!important;
    overflow:hidden!important;
    padding:6px 0 0!important;
  }
  .apb-style-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-rows:96px 96px!important;
    grid-template-columns:none!important;
    grid-auto-columns:calc((100vw - 34px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:204px!important;
    min-height:204px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:6px!important;
    margin:0!important;
    padding:2px 12px 10px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }
  .apb-style-grid::-webkit-scrollbar{display:none!important;}
  .apb-style{
    position:relative!important;
    display:block!important;
    flex:none!important;
    width:calc((100vw - 34px)/3)!important;
    min-width:0!important;
    max-width:none!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    padding:0!important;
    border:1px solid #d8d8d8!important;
    border-radius:5px!important;
    background:#fff!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    box-shadow:0 1px 4px rgba(0,0,0,.14)!important;
    transform:none!important;
  }
  .apb-style.active{
    border-color:#24d600!important;
    box-shadow:0 1px 4px rgba(0,0,0,.14)!important;
    transform:none!important;
    background:#fff!important;
  }
  .apb-style img{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    background:#f5f1f4!important;
    box-shadow:none!important;
  }
  .apb-style span{
    position:static!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:26px!important;
    min-height:26px!important;
    padding:1px 2px!important;
    background:rgba(255,255,255,.88)!important;
    color:#111!important;
    font-size:10.5px!important;
    line-height:12px!important;
    font-weight:500!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:hidden!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .apb-style.active span{
    background:#24d600!important;
    color:#fff!important;
    font-weight:800!important;
  }
  .apb-style em,
  .apb-style .apb-top-badge{
    display:none!important;
  }
  .apb-style:after{display:none!important;}
}

@media(max-width:390px){
  .apb-stage:has(.apb-style-grid) .apb-canvas-col{
    height:47svh!important;
    min-height:320px!important;
    max-height:410px!important;
  }
  .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas{
    max-width:80vw!important;
  }
  .apb-style-grid{
    grid-template-rows:91px 91px!important;
    grid-auto-columns:calc((100vw - 34px)/3)!important;
    height:194px!important;
    min-height:194px!important;
    gap:6px!important;
    padding:2px 12px 10px!important;
  }
  .apb-style{
    width:calc((100vw - 34px)/3)!important;
    height:87px!important;
    min-height:87px!important;
    max-height:87px!important;
  }
  .apb-style img{
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
  }
  .apb-style span{
    height:25px!important;
    min-height:25px!important;
    font-size:9.8px!important;
    line-height:11px!important;
  }
}

/* v0.9.29: no zoom slider + v099 compact cards for style, size and quality. */
#apb-zoom,
.apb-zoom,
input#apb-zoom,
.apb-stage:has(.apb-style-grid) #apb-zoom,
.apb-stage:has(.apb-size-grid) #apb-zoom,
.apb-stage:has(.apb-quality-grid) #apb-zoom{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  flex:0 0 0!important;
}

@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-canvas-wrap,
  .apb-stage:has(.apb-size-grid) .apb-canvas-wrap,
  .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap{
    height:100%!important;
  }

  .apb-style-grid,
  .apb-size-grid,
  .apb-quality-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-rows:96px 96px!important;
    grid-template-columns:none!important;
    grid-auto-columns:calc((100vw - 34px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:204px!important;
    min-height:204px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:6px!important;
    margin:0!important;
    padding:2px 12px 10px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }
  .apb-style-grid::-webkit-scrollbar,
  .apb-size-grid::-webkit-scrollbar,
  .apb-quality-grid::-webkit-scrollbar{display:none!important;}

  .apb-size-area,
  .apb-size-only-row .apb-size-area{
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .apb-orient-title,
  .apb-quality-title,
  .apb-subtitle{
    display:none!important;
  }

  .apb-style,
  .apb-size,
  .apb-quality{
    position:relative!important;
    display:block!important;
    flex:none!important;
    width:calc((100vw - 34px)/3)!important;
    min-width:0!important;
    max-width:none!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    padding:0!important;
    border:1px solid #d8d8d8!important;
    border-radius:5px!important;
    background:#fff!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    box-shadow:0 1px 4px rgba(0,0,0,.14)!important;
    transform:none!important;
    animation:none!important;
  }
  .apb-style.active,
  .apb-size.active,
  .apb-quality.active{
    border-color:#24d600!important;
    box-shadow:0 1px 4px rgba(0,0,0,.14)!important;
    transform:none!important;
    background:#fff!important;
  }

  .apb-style img,
  .apb-size img,
  .apb-quality img.apb-quality-photo,
  .apb-quality-photo{
    position:static!important;
    inset:auto!important;
    width:100%!important;
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
    display:block!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    background:#f5f1f4!important;
    box-shadow:none!important;
  }
  .apb-size img{
    object-fit:contain!important;
    padding:5px!important;
  }

  .apb-style span,
  .apb-size span,
  .apb-quality span{
    position:static!important;
    z-index:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:26px!important;
    min-height:26px!important;
    padding:1px 2px!important;
    background:rgba(255,255,255,.88)!important;
    color:#111!important;
    font-size:10.5px!important;
    line-height:12px!important;
    font-weight:500!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:hidden!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  .apb-style.active span,
  .apb-size.active span,
  .apb-quality.active span{
    background:#24d600!important;
    color:#fff!important;
    font-weight:800!important;
    text-shadow:none!important;
  }

  .apb-quality span b,
  .apb-quality span strong{
    display:inline!important;
    font:inherit!important;
    color:inherit!important;
    padding:0!important;
  }
  .apb-quality span em{
    display:none!important;
  }
  .apb-quality span strong:before{
    content:" "!important;
  }

  .apb-style em,
  .apb-style .apb-top-badge,
  .apb-size .apb-top-badge,
  .apb-quality:after,
  .apb-style:after,
  .apb-size:after{
    display:none!important;
  }

  .apb-quality .apb-quality-crown-wrap{
    top:5px!important;
    right:5px!important;
    left:auto!important;
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    min-height:24px!important;
    padding:4px!important;
    transform:none!important;
    z-index:5!important;
  }
  .apb-quality .apb-quality-crown-wrap img.apb-quality-crown-icon,
  .apb-quality img.apb-quality-crown-icon{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    max-width:16px!important;
    min-height:16px!important;
    max-height:16px!important;
  }
}

@media(max-width:390px){
  .apb-style-grid,
  .apb-size-grid,
  .apb-quality-grid{
    grid-template-rows:91px 91px!important;
    grid-auto-columns:calc((100vw - 34px)/3)!important;
    height:194px!important;
    min-height:194px!important;
    gap:6px!important;
    padding:2px 12px 10px!important;
  }
  .apb-style,
  .apb-size,
  .apb-quality{
    width:calc((100vw - 34px)/3)!important;
    height:87px!important;
    min-height:87px!important;
    max-height:87px!important;
  }
  .apb-style img,
  .apb-size img,
  .apb-quality img.apb-quality-photo,
  .apb-quality-photo{
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
  }
  .apb-style span,
  .apb-size span,
  .apb-quality span{
    height:25px!important;
    min-height:25px!important;
    font-size:9.8px!important;
    line-height:11px!important;
  }
}

/* v0.9.30: sizes exactly like style cards 3x2; quality cards in one row. */
@media(max-width:900px){
  .apb-stage:has(.apb-size-grid) .apb-options-col,
  .apb-stage:has(.apb-quality-grid) .apb-options-col{
    padding-top:8px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-orient-title,
  .apb-stage:has(.apb-size-grid) .apb-iconbar,
  .apb-stage:has(.apb-quality-grid) .apb-quality-title{
    display:none!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-first-row,
  .apb-size-only-row{
    display:block!important;
    height:auto!important;
    min-height:0!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size-area,
  .apb-size-only-row .apb-size-area{
    display:block!important;
    width:100vw!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-columns:none!important;
    grid-template-rows:96px 96px!important;
    grid-auto-columns:calc((100vw - 34px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:204px!important;
    min-height:204px!important;
    max-height:204px!important;
    gap:6px!important;
    margin:0!important;
    padding:2px 12px 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }

  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-columns:none!important;
    grid-template-rows:96px!important;
    grid-auto-columns:calc((100vw - 34px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:108px!important;
    min-height:108px!important;
    max-height:108px!important;
    gap:6px!important;
    margin:0!important;
    padding:2px 12px 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 34px)/3)!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    padding:0!important;
    border:1px solid #d8d8d8!important;
    border-radius:5px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 1px 4px rgba(0,0,0,.14)!important;
    scroll-snap-align:start!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size.active,
  .apb-stage:has(.apb-quality-grid) .apb-quality.active{
    border-color:#24d600!important;
    background:#fff!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size img,
  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    display:block!important;
    width:100%!important;
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    object-position:center!important;
    background:#f5f1f4!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size img{
    object-fit:contain!important;
    padding:5px!important;
  }

  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    object-fit:cover!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size span,
  .apb-stage:has(.apb-quality-grid) .apb-quality span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:26px!important;
    min-height:26px!important;
    padding:1px 2px!important;
    background:rgba(255,255,255,.88)!important;
    color:#111!important;
    font-size:10.5px!important;
    line-height:12px!important;
    font-weight:500!important;
    text-align:center!important;
    overflow:hidden!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size.active span,
  .apb-stage:has(.apb-quality-grid) .apb-quality.active span{
    background:#24d600!important;
    color:#fff!important;
    font-weight:800!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-size-grid) .apb-size-grid{
    grid-template-rows:91px 91px!important;
    height:194px!important;
    min-height:194px!important;
    max-height:194px!important;
  }

  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    grid-template-rows:91px!important;
    height:103px!important;
    min-height:103px!important;
    max-height:103px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    height:87px!important;
    min-height:87px!important;
    max-height:87px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size img,
  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size span,
  .apb-stage:has(.apb-quality-grid) .apb-quality span{
    height:25px!important;
    min-height:25px!important;
    font-size:9.8px!important;
    line-height:11px!important;
  }
}

/* v0.9.39: non-cropped typewriter-style landing title. */
.apb-royal-animated-title{
  overflow:visible!important;
  margin-bottom:18px!important;
}

.apb-royal-animated-title .apb-hero-words{
  height:76px!important;
  min-height:76px!important;
  overflow:visible!important;
  white-space:normal!important;
}

.apb-royal-animated-title .apb-hero-words span{
  display:inline-block!important;
  max-width:100%!important;
  white-space:normal!important;
  line-height:1.08!important;
  opacity:0;
  transform:none!important;
  filter:none!important;
  clip-path:inset(0 100% 0 0);
  animation:apbHeroTypeWords 10.4s steps(24,end) infinite!important;
}

.apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:2.6s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:5.2s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:7.8s!important;}

@keyframes apbHeroTypeWords{
  0%{opacity:0;clip-path:inset(0 100% 0 0);}
  4%{opacity:1;clip-path:inset(0 100% 0 0);}
  18%,24%{opacity:1;clip-path:inset(0 0 0 0);}
  29%,100%{opacity:0;clip-path:inset(0 0 0 0);}
}

@media(max-width:390px){
  .apb-royal-animated-title .apb-hero-words{
    height:72px!important;
    min-height:72px!important;
  }
}

/* v0.9.43 last override: readable typewriter with 3 second pause. */
html #app .apb-royal-animated-title{
  font-size:clamp(42px,10.4vw,58px)!important;
  line-height:.98!important;
  overflow:visible!important;
  margin-bottom:18px!important;
}

html #app .apb-royal-animated-title .apb-hero-static{
  font-size:1em!important;
  line-height:.98!important;
}

html #app .apb-royal-animated-title .apb-hero-words{
  height:64px!important;
  min-height:64px!important;
  margin-top:6px!important;
  overflow:visible!important;
  white-space:normal!important;
  font-size:clamp(28px,7.2vw,42px)!important;
  line-height:1.08!important;
}

html #app .apb-royal-animated-title .apb-hero-words span{
  display:inline-block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  width:0;
  opacity:0;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  animation:apbHeroTypeDeleteSlow 15.2s steps(26,end) infinite!important;
}

html #app .apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:3.8s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:7.6s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:11.4s!important;}

@media(max-width:390px){
  html #app .apb-royal-animated-title{
    font-size:clamp(36px,9.5vw,46px)!important;
  }

html #app .apb-royal-animated-title .apb-hero-words{
    height:56px!important;
    min-height:56px!important;
    font-size:clamp(23px,6.1vw,30px)!important;
  }
}

/* v0.10.88: photo camera popup with subject selector inside. */
.apb-photo-manager{
  position:fixed!important;
  inset:0!important;
  z-index:180!important;
  display:none!important;
  align-items:stretch!important;
  justify-content:center!important;
  padding:0 18px 18px!important;
}
.apb-photo-manager.active{display:flex!important;}
.apb-photo-manager-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(31,23,52,.54)!important;
  backdrop-filter:blur(5px)!important;
}
.apb-photo-manager-stack{
  position:relative!important;
  z-index:1!important;
  width:min(520px,94vw)!important;
  height:100vh!important;
  height:100dvh!important;
  max-height:100vh!important;
  max-height:100dvh!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  color:#2f2548!important;
  justify-content:space-between!important;
  padding-bottom:18px!important;
}
.apb-photo-manager-card{
  position:relative!important;
  width:100%!important;
  max-height:64vh!important;
  max-height:64dvh!important;
  overflow:auto!important;
  margin-top:auto!important;
  border-radius:24px!important;
  background:#fffdfb!important;
  box-shadow:0 24px 70px rgba(28,18,48,.32)!important;
  padding:20px 18px 18px!important;
  color:#2f2548!important;
}
.apb-photo-manager-card h3{
  margin:0 38px 4px 0!important;
  font-size:22px!important;
  line-height:1.1!important;
  font-weight:900!important;
}
.apb-photo-manager-card p{
  margin:0 0 14px!important;
  color:#7a7189!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.apb-photo-manager-close{
  position:absolute!important;
  right:14px!important;
  top:12px!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  border-radius:50%!important;
  background:#f1ecf6!important;
  color:#33264d!important;
  font:900 24px/1 Arial,sans-serif!important;
  cursor:pointer!important;
}
.apb-photo-manager-section{
  margin:12px 0 14px!important;
  padding:12px!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fff,#fbf7ff)!important;
  box-shadow:inset 0 0 0 1px rgba(72,50,105,.08)!important;
}
.apb-photo-manager-section>b{
  display:block!important;
  margin:0 0 9px!important;
  font-size:14px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:#342650!important;
}
.apb-photo-manager-card .apb-multi-photo-row{
  min-height:78px!important;
  gap:9px!important;
}
.apb-photo-manager-card .apb-multi-photo,
.apb-photo-manager-card .apb-multi-photo-add{
  flex-basis:78px!important;
  width:78px!important;
  height:78px!important;
  border-radius:14px!important;
}
.apb-design-history-window{
  width:100%!important;
  margin:0!important;
  padding:14px!important;
  border-radius:0 0 22px 22px!important;
  background:#fffdfb!important;
  box-shadow:0 18px 48px rgba(28,18,48,.22),inset 0 0 0 1px rgba(183,83,177,.22)!important;
}
.apb-design-history-inner{
  min-height:132px!important;
  padding:12px!important;
  border-radius:14px!important;
  background:linear-gradient(145deg,#fff,#fbf7ff)!important;
  box-shadow:inset 0 0 0 1px rgba(183,83,177,.20)!important;
}
.apb-design-history-inner>b{
  display:block!important;
  margin:0 0 5px!important;
  font-size:14px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:#342650!important;
}
.apb-design-history-inner>small{
  display:block!important;
  margin:0 0 10px!important;
  color:#7a7189!important;
  font-size:11px!important;
  line-height:1.28!important;
  font-weight:700!important;
}
.apb-design-history-section{
  background:linear-gradient(145deg,#fff9fd,#f8f2ff)!important;
  box-shadow:inset 0 0 0 1px rgba(197,74,154,.13),0 8px 24px rgba(54,37,83,.06)!important;
}
.apb-design-history-row{
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:1px 2px 6px!important;
  margin:0 -2px!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;
}
.apb-design-history-row::-webkit-scrollbar{display:none!important;}
.apb-design-history-card{
  flex:0 0 76px!important;
  width:76px!important;
  border:1px solid rgba(183,83,177,.28)!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:4px!important;
  overflow:hidden!important;
  box-shadow:0 7px 18px rgba(42,31,66,.10),0 0 0 1px rgba(255,255,255,.8) inset!important;
  cursor:pointer!important;
  scroll-snap-align:start!important;
  text-align:center!important;
}
.apb-design-history-card.active{
  border-color:#25dc00!important;
  box-shadow:0 0 0 3px #25dc00,0 10px 22px rgba(37,220,0,.20)!important;
}
.apb-design-history-card img{
  display:block!important;
  width:68px!important;
  height:91px!important;
  border-radius:8px!important;
  object-fit:cover!important;
  background:#f6f1fb!important;
}
.apb-design-history-card span{
  display:block!important;
  max-width:68px!important;
  padding:5px 1px 1px!important;
  color:#32264b!important;
  font-size:10px!important;
  line-height:1.12!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.apb-design-history-card-empty{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:124px!important;
  border-style:dashed!important;
  color:#7b5fa2!important;
  background:linear-gradient(145deg,#fff,#faf4ff)!important;
  cursor:default!important;
}
.apb-design-history-card-empty i{
  display:flex!important;
  width:42px!important;
  height:42px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 9px!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#f4e9ff,#fff4fb)!important;
  color:#b24bab!important;
  font-style:normal!important;
  font-size:20px!important;
  box-shadow:0 8px 20px rgba(178,75,171,.16)!important;
}
.apb-design-history-card-empty span{
  max-width:64px!important;
  white-space:normal!important;
  font-size:9px!important;
  line-height:1.15!important;
  color:#6f5a88!important;
}
.apb-photo-subject-row{
  display:flex!important;
  align-items:flex-start!important;
  gap:12px!important;
  min-height:86px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 2px 8px!important;
  scrollbar-width:none!important;
}
.apb-photo-subject-row::-webkit-scrollbar{display:none!important;}
.apb-photo-subject-empty{
  align-items:flex-start!important;
  justify-content:center!important;
  flex-direction:column!important;
  min-height:54px!important;
  color:#82778d!important;
  font-size:13px!important;
}
.apb-photo-subject-row .apb-subject-chip{
  position:relative!important;
  flex:0 0 62px!important;
  width:62px!important;
  height:62px!important;
  z-index:auto!important;
}
.apb-photo-subject-row .apb-subject-chip span{
  font-size:10px!important;
  top:calc(100% + 3px)!important;
}
.apb-photo-subject-row .apb-subject-chip i{
  width:21px!important;
  height:21px!important;
  line-height:20px!important;
  font-size:16px!important;
}
.apb-photo-manager-hint{
  display:block!important;
  margin:8px 2px 0!important;
  color:#81778d!important;
  font-size:12px!important;
  line-height:1.3!important;
}
.apb-subject-hint{
  right:calc(50% - 178px)!important;
  top:72px!important;
  flex-direction:column!important;
  gap:7px!important;
  cursor:pointer!important;
  transform-origin:100% 0!important;
  transition:transform .75s cubic-bezier(.22,.8,.2,1),opacity .75s ease,filter .75s ease!important;
}
.apb-subject-hint:after{
  content:"Натисніть камеру, щоб прибрати зайвих людей або тварин"!important;
  position:absolute!important;
  right:54px!important;
  top:7px!important;
  width:156px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  background:#2f2152!important;
  color:#fff!important;
  font-size:11px!important;
  line-height:1.18!important;
  box-shadow:0 10px 24px rgba(47,33,82,.22)!important;
}
.apb-subject-hint.is-flying{
  transform:translate(8px,-58px) scale(.25)!important;
  opacity:0!important;
  filter:blur(1px)!important;
  pointer-events:none!important;
}
.apb-subject-hint.is-flying:after{opacity:0!important;}
@media(max-width:520px){
  .apb-photo-manager{align-items:stretch!important;padding:0 10px 10px!important;}
  .apb-photo-manager-stack{height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;justify-content:space-between!important;padding-bottom:10px!important;overflow:visible!important;}
  .apb-photo-manager-card{width:100%!important;max-height:64vh!important;max-height:64dvh!important;border-radius:22px 22px 18px 18px!important;padding:18px 14px 16px!important;margin-top:auto!important;}
  .apb-subject-hint{right:17px!important;top:72px!important;}
  .apb-subject-hint:after{right:50px!important;width:138px!important;font-size:10px!important;}
  .apb-subject-hint.is-flying{transform:translate(8px,-54px) scale(.22)!important;}
}

/* v0.10.89: subject chips are toggles, no captions under circles. */
.apb-subject-chip span{display:none!important;}
.apb-subject-chip.is-disabled{
  opacity:.45!important;
  filter:grayscale(1)!important;
  border-color:#c9c2d5!important;
  box-shadow:0 4px 12px rgba(54,42,78,.10)!important;
}
.apb-subject-chip.is-disabled:after{
  content:""!important;
  position:absolute!important;
  inset:4px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.38)!important;
  pointer-events:none!important;
}
.apb-subject-chip.is-disabled i{
  background:#2fc51f!important;
  color:#fff!important;
  z-index:3!important;
}
.apb-photo-subject-row .apb-subject-chip{
  margin-bottom:0!important;
}

/* v0.10.86 subject selector final override */
.apb-subject-chips{position:absolute!important;z-index:40!important;right:calc(50% - 176px)!important;top:76px!important;display:flex!important;flex-direction:column!important;gap:8px!important;align-items:center!important;pointer-events:auto!important}
.apb-subject-chip{width:48px!important;height:48px!important;border-radius:50%!important;border:2px solid rgba(218,93,171,.96)!important;background:#fff!important;box-shadow:0 8px 18px rgba(62,36,86,.20)!important;padding:0!important;margin:0!important;position:relative!important;display:block!important;cursor:pointer!important;overflow:visible!important}
.apb-subject-chip img{width:100%!important;height:100%!important;border-radius:50%!important;object-fit:cover!important;display:block!important}
.apb-subject-chip span{position:absolute!important;left:50%!important;top:100%!important;transform:translate(-50%,2px)!important;padding:1px 5px!important;border-radius:8px!important;background:rgba(45,32,76,.86)!important;color:#fff!important;font-size:9px!important;line-height:1.2!important;white-space:nowrap!important;pointer-events:none!important}
.apb-subject-chip i{position:absolute!important;right:-5px!important;top:-5px!important;width:18px!important;height:18px!important;border-radius:50%!important;background:#2f2152!important;color:#fff!important;font-style:normal!important;font-size:14px!important;line-height:17px!important;text-align:center!important;box-shadow:0 3px 8px rgba(0,0,0,.22)!important}
.apb-subject-pet{border-color:#f2c84c!important;box-shadow:0 8px 18px rgba(214,166,23,.20)!important}
.apb-subject-chip.apb-subject-male:not(.apb-subject-pet){border-color:#3a2866!important;box-shadow:0 8px 18px rgba(58,40,102,.26)!important}
.apb-subject-chip.apb-subject-female:not(.apb-subject-pet){border-color:rgba(218,93,171,.96)!important}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet){border-color:#3a2866!important;box-shadow:0 8px 18px rgba(58,40,102,.23)!important}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet):not(.is-loading):before{
  content:""!important;
  position:absolute!important;
  right:-5px!important;
  bottom:-5px!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:#fff!important;
  z-index:2!important;
  pointer-events:none!important;
}
@media(max-width:520px){.apb-subject-chips{right:18px!important;top:70px!important;gap:7px!important}.apb-subject-chip{width:44px!important;height:44px!important}.apb-subject-chip span{font-size:8px!important}}

/* v0.10.90: cleaner subject popup states and precise fly-to-camera hint. */
.apb-subject-hint{
  transform-origin:center center!important;
}
.apb-subject-hint.is-flying{
  transform:translate(var(--apb-fly-x, 8px), var(--apb-fly-y, -58px)) scale(.18)!important;
  opacity:0!important;
  filter:blur(1px)!important;
  pointer-events:none!important;
}
@media(max-width:520px){
  .apb-subject-hint.is-flying{
    transform:translate(var(--apb-fly-x, 8px), var(--apb-fly-y, -54px)) scale(.18)!important;
  }
}
.apb-subject-chip.is-loading{
  opacity:.9!important;
  pointer-events:none!important;
}
.apb-subject-chip.is-loading img,
.apb-subject-chip.is-loading i{
  position:relative!important;
  z-index:2!important;
}
.apb-subject-chip.is-loading i{
  display:none!important;
}
.apb-subject-chip.is-loading:before{
  content:""!important;
  position:absolute!important;
  inset:-4px!important;
  border-radius:50%!important;
  background:transparent!important;
  border:3px solid rgba(34,201,26,.16)!important;
  border-top-color:#22c91a!important;
  border-right-color:#22c91a!important;
  box-sizing:border-box!important;
  animation:apbSubjectSpin .85s linear infinite!important;
  z-index:4!important;
  pointer-events:none!important;
}
.apb-subject-chip.is-loading:after{
  content:none!important;
  display:none!important;
}
@keyframes apbSubjectSpin{to{transform:rotate(360deg)}}
.apb-subject-search-line{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:5px!important;
  margin:12px 0 0!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:rgba(47,33,82,.10)!important;
}
.apb-subject-search-line b{
  display:block!important;
  width:42%!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#da5dab,#22c91a)!important;
  animation:apbSubjectScan 1.15s ease-in-out infinite!important;
}
@keyframes apbSubjectScan{
  0%{transform:translateX(-115%)}
  100%{transform:translateX(255%)}
}

/* v0.10.92: camera gets a current-photo badge after subject hint flies into it. */
.apb-upload-floating{
  overflow:visible!important;
}
.apb-camera-current-thumb{
  position:absolute!important;
  right:-7px!important;
  bottom:-7px!important;
  width:31px!important;
  height:31px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  border:3px solid #fff!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(47,33,82,.34)!important;
  opacity:0!important;
  transform:scale(.35) translate(5px,5px)!important;
  transition:opacity .28s ease,transform .32s cubic-bezier(.2,.9,.2,1.2)!important;
  pointer-events:auto!important;
  cursor:pointer!important;
}
.apb-upload-floating.has-current-thumb .apb-camera-current-thumb{
  opacity:1!important;
  transform:scale(1) translate(0,0)!important;
}
.apb-style-refresh{
  display:none!important;
  position:absolute!important;
  z-index:19!important;
  right:calc(50vw - 174px)!important;
  top:76px!important;
  width:43px!important;
  height:43px!important;
  border:0!important;
  border-radius:50%!important;
  background:linear-gradient(135deg,#fff,#fff7fc)!important;
  color:#be2d93!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  box-shadow:0 8px 22px rgba(190,45,147,.24),0 0 0 2px rgba(219,114,174,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease!important;
}
.apb-style-refresh.active{
  display:flex!important;
}
.apb-style-refresh span{
  display:block!important;
  font-size:27px!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}

/* v0.10.119: compact design history block, keep photo sheet at bottom. */
.apb-design-history-window{
  padding:10px!important;
  border-radius:0 0 18px 18px!important;
}
.apb-design-history-inner{
  min-height:99px!important;
  padding:9px!important;
  border-radius:12px!important;
}
.apb-design-history-inner>b{
  margin-bottom:3px!important;
  font-size:12px!important;
}
.apb-design-history-inner>small{
  margin-bottom:7px!important;
  font-size:9px!important;
  line-height:1.22!important;
}
.apb-design-history-row{
  gap:7px!important;
  padding-bottom:4px!important;
}
.apb-design-history-card{
  flex-basis:57px!important;
  width:57px!important;
  padding:3px!important;
  border-radius:8px!important;
}
.apb-design-history-card img{
  width:51px!important;
  height:68px!important;
  border-radius:6px!important;
}
.apb-design-history-card span{
  max-width:51px!important;
  padding-top:3px!important;
  font-size:8px!important;
}
.apb-design-history-card-empty{
  min-height:93px!important;
}
.apb-design-history-card-empty i{
  width:32px!important;
  height:32px!important;
  margin-bottom:6px!important;
  font-size:16px!important;
}
.apb-design-history-card-empty span{
  max-width:52px!important;
  font-size:8px!important;
}
.apb-style-refresh:active{
  transform:scale(.94)!important;
}
.apb-style-refresh:hover{
  box-shadow:0 10px 26px rgba(190,45,147,.32),0 0 0 3px rgba(219,114,174,.22)!important;
}
.apb-style-refresh[disabled]{
  opacity:.58!important;
  pointer-events:none!important;
}
.apb-style-refresh.is-no-style{
  opacity:.82!important;
}
.apb-style-create{
  display:none!important;
  position:absolute!important;
  z-index:18!important;
  min-width:168px!important;
  min-height:46px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#29d91d,#14b70e 58%,#0d9c09)!important;
  color:#fff!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  cursor:pointer!important;
  box-shadow:0 14px 30px rgba(28,194,20,.30),0 0 0 2px rgba(255,255,255,.72)!important;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease!important;
  font:900 15px/1.05 inherit!important;
  letter-spacing:.01em!important;
}
.apb-style-create.active{
  display:flex!important;
}
.apb-style-create span{
  width:24px!important;
  height:24px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.22)!important;
  font-size:15px!important;
  line-height:1!important;
}
.apb-style-create b{
  color:#fff!important;
  font-weight:900!important;
}
.apb-style-create:active{
  transform:scale(.96)!important;
}
.apb-style-create:hover{
  box-shadow:0 16px 34px rgba(28,194,20,.38),0 0 0 3px rgba(255,255,255,.78)!important;
}
.apb-style-create[disabled]{
  opacity:.55!important;
  pointer-events:none!important;
}
.apb-actions #apb-next.apb-create-style-cta{
  min-width:132px!important;
  background:linear-gradient(120deg,#df78b3 0%,#d966ad 48%,#a95fd2 100%)!important;
  background-size:150% 100%!important;
  color:#fff!important;
  box-shadow:0 5px 13px rgba(179,54,128,.28)!important;
  font-weight:700!important;
  font-size:20px!important;
  letter-spacing:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:0 18px!important;
  animation:none!important;
  text-shadow:none!important;
}
.apb-actions #apb-next.apb-create-style-cta:before{
  display:none!important;
}
.apb-actions #apb-next.apb-create-style-cta:after{
  content:"✦"!important;
  position:static!important;
  inset:auto!important;
  left:auto!important;
  top:auto!important;
  bottom:auto!important;
  right:auto!important;
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.18)!important;
  font-size:16px!important;
  line-height:1!important;
  transform:none!important;
  animation:apbCreateIconSpark 2.2s ease-in-out infinite!important;
}
.apb-actions #apb-next.apb-create-style-cta:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 7px 18px rgba(219,99,168,.34)!important;
}
.apb-refresh-manager .apb-photo-manager-stack{
  justify-content:flex-end!important;
}
.apb-refresh-manager-card{
  max-height:58vh!important;
  max-height:58dvh!important;
}
.apb-refresh-manager-card .apb-photo-manager-section{
  margin-bottom:12px!important;
}
.apb-refresh-summary strong{
  display:block!important;
  padding:10px 12px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,rgba(218,93,171,.10),rgba(61,39,103,.08))!important;
  color:#30224d!important;
  font-size:15px!important;
  line-height:1.15!important;
  font-weight:900!important;
}
.apb-refresh-subject-row{
  min-height:76px!important;
}
.apb-refresh-generate{
  width:100%!important;
  min-height:52px!important;
  margin:6px 0 4px!important;
  border:0!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#d95fa9,#9b4fd4 54%,#3a2865)!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(174,68,159,.25)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  cursor:pointer!important;
  font:900 15px/1.1 inherit!important;
  letter-spacing:.01em!important;
}
.apb-refresh-generate span{
  width:28px!important;
  height:28px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.18)!important;
  font-size:21px!important;
  line-height:1!important;
}
.apb-refresh-generate b{
  color:#fff!important;
  font-weight:900!important;
}
.apb-refresh-generate:disabled{
  opacity:.5!important;
  filter:grayscale(.25)!important;
  pointer-events:none!important;
}
@media(max-width:520px){
  .apb-camera-current-thumb{
    right:-6px!important;
    bottom:-6px!important;
    width:29px!important;
    height:29px!important;
  }
  .apb-style-refresh{
    right:22px!important;
    top:72px!important;
    width:40px!important;
    height:40px!important;
  }
  .apb-style-refresh span{
    font-size:25px!important;
  }
}

/* v0.9.87: desktop full-width responsive landing/product iframe. */
@media(min-width:901px){
  html,
  body{
    width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  #app,
  .apb-old,
  .apb-main,
  .apb-work,
  .apb-stage{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  #app.apb-root-landing,
  #app.apb-root-landing .apb-old,
  #app.apb-root-landing .apb-main,
  #app.apb-root-landing .apb-work,
  #app.apb-root-landing .apb-stage{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
  }

  #app.apb-root-landing .apb-work{
    height:auto!important;
    min-height:100vh!important;
    overflow:visible!important;
    padding:0!important;
    background:#120c20!important;
  }

  #app.apb-root-landing .apb-stage{
    display:block!important;
    height:auto!important;
  }

  #app.apb-root-landing .apb-canvas-col,
  #app.apb-root-landing .apb-bottom,
  #app.apb-root-landing .apb-side{
    display:none!important;
  }

  #app.apb-root-landing .apb-options-col{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }

  #app.apb-root-landing .apb-royal-landing{
    width:100vw!important;
    max-width:none!important;
    min-height:100vh!important;
    margin:0!important;
    padding-left:clamp(28px,5vw,92px)!important;
    padding-right:clamp(28px,5vw,92px)!important;
  }

  #app.apb-root-landing .apb-royal-head,
  #app.apb-root-landing .apb-royal-hero,
  #app.apb-root-landing .apb-royal-trust,
  #app.apb-root-landing .apb-royal-stats,
  #app.apb-root-landing .apb-royal-next{
    max-width:1380px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #app.apb-root-landing .apb-royal-hero{
    min-height:clamp(480px,58vh,680px)!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  #app.apb-root-landing .apb-royal-marquee{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }

  body.single-product .apb-iframe-wrapper,
  body.single-product #apb-iframe{
    width:100vw!important;
    max-width:none!important;
    height:100vh!important;
    min-height:100vh!important;
  }
}

/* v0.9.88: desktop landing scroll + true full-width purple sections. */
@media(min-width:901px){
  html,
  body{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }

  #app.apb-root-landing,
  #app.apb-root-landing .apb-old,
  #app.apb-root-landing .apb-main,
  #app.apb-root-landing .apb-work,
  #app.apb-root-landing .apb-stage,
  #app.apb-root-landing .apb-options-col{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #app.apb-root-landing .apb-main{
    display:block!important;
  }

  #app.apb-root-landing .apb-royal-landing{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  #app.apb-root-landing .apb-royal-sale,
  #app.apb-root-landing .apb-royal-hero,
  #app.apb-root-landing .apb-royal-marquee,
  #app.apb-root-landing .apb-royal-trust{
    width:100vw!important;
    max-width:none!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }

  #app.apb-root-landing .apb-royal-head,
  #app.apb-root-landing .apb-royal-next,
  #app.apb-root-landing .apb-royal-stats{
    width:100%!important;
    max-width:1380px!important;
    padding-left:clamp(24px,5vw,86px)!important;
    padding-right:clamp(24px,5vw,86px)!important;
  }

  #app.apb-root-landing .apb-royal-hero{
    padding-left:clamp(28px,8vw,140px)!important;
    padding-right:clamp(28px,8vw,140px)!important;
  }

  #app.apb-root-landing .apb-royal-marquee{
    overflow:hidden!important;
  }
}

/* v0.9.45 real final override: one animated phrase at a time + final card active state. */
html #app .apb-royal-animated-title{
  font-size:clamp(31px,8vw,46px)!important;
  line-height:1.02!important;
  overflow:visible!important;
}

html #app .apb-royal-animated-title .apb-hero-static{
  display:block!important;
  line-height:1!important;
}

html #app .apb-royal-animated-title .apb-hero-words{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:min(92vw,680px)!important;
  height:42px!important;
  min-height:42px!important;
  margin-top:6px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  font-size:clamp(18px,4.9vw,30px)!important;
  line-height:1.12!important;
}

html #app .apb-royal-animated-title .apb-hero-words span{
  position:absolute!important;
  left:0!important;
  top:0!important;
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  width:0;
  opacity:0;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  animation:apbHeroOneLineType 16s steps(24,end) infinite!important;
}

html #app .apb-royal-animated-title .apb-hero-words span:nth-child(1){animation-delay:0s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:4s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:8s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:12s!important;}

@keyframes apbHeroOneLineType{
  0%{opacity:1;width:0;}
  3%{opacity:1;width:100%;}
  21%{opacity:1;width:100%;}
  25%{opacity:1;width:0;}
  25.1%,100%{opacity:0;width:0;}
}

html #app .apb-final-offer.active{
  border:2px solid #25d51d!important;
  box-shadow:0 4px 14px rgba(37,213,29,.16)!important;
  background:#fff!important;
}

html #app .apb-final-offer.active:after{
  content:none!important;
  display:none!important;
}

@media(max-width:390px){
  html #app .apb-royal-animated-title{
    font-size:clamp(29px,7.6vw,38px)!important;
  }

  html #app .apb-royal-animated-title .apb-hero-words{
    height:36px!important;
    min-height:36px!important;
    font-size:clamp(16px,4.35vw,22px)!important;
  }
}

/* v0.9.45: no overlap hero animation, final cards like other selected cards. */
html #app .apb-royal-animated-title{
  font-size:clamp(31px,8vw,46px)!important;
  line-height:1.02!important;
  overflow:visible!important;
}

html #app .apb-royal-animated-title .apb-hero-static{
  display:block!important;
  line-height:1!important;
}

html #app .apb-royal-animated-title .apb-hero-words{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:min(92vw,680px)!important;
  height:42px!important;
  min-height:42px!important;
  margin-top:6px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  font-size:clamp(18px,4.9vw,30px)!important;
  line-height:1.12!important;
}

html #app .apb-royal-animated-title .apb-hero-words span{
  position:absolute!important;
  left:0!important;
  top:0!important;
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  width:0;
  opacity:0;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  animation:apbHeroOneLineType 16s steps(24,end) infinite!important;
}

html #app .apb-royal-animated-title .apb-hero-words span:nth-child(1){animation-delay:0s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:4s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:8s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:12s!important;}

@keyframes apbHeroOneLineType{
  0%{opacity:1;width:0;}
  3%{opacity:1;width:100%;}
  21%{opacity:1;width:100%;}
  25%{opacity:1;width:0;}
  25.1%,100%{opacity:0;width:0;}
}

html #app .apb-final-offer.active{
  border:2px solid #25d51d!important;
  box-shadow:0 4px 14px rgba(37,213,29,.16)!important;
  background:#fff!important;
}

html #app .apb-final-offer.active:after{
  content:none!important;
  display:none!important;
}

@media(max-width:390px){
  html #app .apb-royal-animated-title{
    font-size:clamp(29px,7.6vw,38px)!important;
  }

  html #app .apb-royal-animated-title .apb-hero-words{
    height:36px!important;
    min-height:36px!important;
    font-size:clamp(16px,4.35vw,22px)!important;
  }
}

/* v0.9.44: orientation-safe visual polish. */
html #app .apb-royal-animated-title{
  font-size:clamp(34px,8.6vw,50px)!important;
  line-height:1.02!important;
}

html #app .apb-royal-animated-title .apb-hero-words{
  width:100%!important;
  max-width:min(92vw,720px)!important;
  height:54px!important;
  min-height:54px!important;
  overflow:hidden!important;
  font-size:clamp(20px,5.2vw,34px)!important;
  line-height:1.12!important;
}

html #app .apb-royal-animated-title .apb-hero-words span{
  max-width:100%!important;
  text-overflow:clip!important;
}

html #app .apb-final-offers{
  grid-template-columns:3fr 2fr!important;
}

html #app .apb-final-offer.active{
  border-color:#25d51d!important;
  box-shadow:0 0 0 3px rgba(37,213,29,.2),0 10px 22px rgba(42,28,38,.12)!important;
}

html #app .apb-final-offer.active:after{
  content:"✓";
  position:absolute;
  right:10px;
  top:10px;
  width:22px;
  height:22px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#25d51d;
  color:#fff;
  font-weight:900;
  font-size:14px;
  box-shadow:0 4px 10px rgba(37,213,29,.28);
}

@media(max-width:390px){
  html #app .apb-royal-animated-title{
    font-size:clamp(31px,8.2vw,40px)!important;
  }

  html #app .apb-royal-animated-title .apb-hero-words{
    height:48px!important;
    min-height:48px!important;
    font-size:clamp(18px,4.85vw,25px)!important;
  }

  html #app .apb-final-offers{
    grid-template-columns:3fr 2fr!important;
    gap:7px!important;
  }

  html #app .apb-final-offer{
    padding-left:7px!important;
    padding-right:7px!important;
  }
}

/* v0.9.43 final-final: keep this after older typewriter overrides. */
.apb-royal-animated-title{
  font-size:clamp(42px,10.4vw,58px)!important;
  line-height:.98!important;
  overflow:visible!important;
  margin-bottom:18px!important;
}

.apb-royal-animated-title .apb-hero-static{
  font-size:1em!important;
  line-height:.98!important;
}

.apb-royal-animated-title .apb-hero-words{
  height:64px!important;
  min-height:64px!important;
  margin-top:6px!important;
  overflow:visible!important;
  white-space:normal!important;
  font-size:clamp(28px,7.2vw,42px)!important;
  line-height:1.08!important;
}

.apb-royal-animated-title .apb-hero-words span{
  display:inline-block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  width:0;
  opacity:0;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  animation:apbHeroTypeDeleteSlow 15.2s steps(26,end) infinite!important;
}

.apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:3.8s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:7.6s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:11.4s!important;}

@media(max-width:390px){
  .apb-royal-animated-title{
    font-size:clamp(36px,9.5vw,46px)!important;
  }

  .apb-royal-animated-title .apb-hero-words{
    height:56px!important;
    min-height:56px!important;
    font-size:clamp(23px,6.1vw,30px)!important;
  }
}

/* v0.9.43: readable landing typewriter + final order option cards. */
.apb-royal-animated-title{
  font-size:clamp(42px,10.4vw,58px)!important;
  line-height:.98!important;
}

.apb-royal-animated-title .apb-hero-static{
  font-size:1em!important;
  line-height:.98!important;
}

.apb-royal-animated-title .apb-hero-words{
  height:64px!important;
  min-height:64px!important;
  margin-top:6px!important;
  font-size:clamp(28px,7.2vw,42px)!important;
  line-height:1.08!important;
}

.apb-royal-animated-title .apb-hero-words span{
  max-width:100%!important;
  animation:apbHeroTypeDeleteSlow 15.2s steps(26,end) infinite!important;
}

.apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:3.8s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:7.6s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:11.4s!important;}

@keyframes apbHeroTypeDeleteSlow{
  0%{opacity:0;width:0;}
  4%{opacity:1;width:0;}
  18%,78%{opacity:1;width:100%;}
  96%{opacity:1;width:0;}
  97%,100%{opacity:0;width:0;}
}

@media(max-width:390px){
  .apb-royal-animated-title{
    font-size:clamp(36px,9.5vw,46px)!important;
  }

  .apb-royal-animated-title .apb-hero-words{
    height:56px!important;
    min-height:56px!important;
    font-size:clamp(23px,6.1vw,30px)!important;
  }
}

.apb-final-offers{
  width:min(560px,100%)!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  padding:0 10px!important;
  margin:4px auto 8px!important;
}

.apb-final-offer{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:6px!important;
  min-height:172px!important;
  padding:26px 12px 12px!important;
  border:1px solid rgba(103,83,91,.22)!important;
  border-radius:16px!important;
  background:#eee8e3!important;
  color:#201b25!important;
  text-align:left!important;
  box-shadow:0 8px 18px rgba(42,28,38,.08)!important;
  cursor:pointer!important;
}

.apb-final-offer.active{
  border-color:#d95fa3!important;
  box-shadow:0 0 0 3px rgba(217,95,163,.18),0 10px 22px rgba(42,28,38,.12)!important;
  background:linear-gradient(180deg,#fff8fc,#eee8e3)!important;
}

.apb-final-offer>b{
  position:absolute!important;
  top:-12px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  white-space:nowrap!important;
  padding:6px 12px!important;
  border-radius:999px!important;
  background:#ffc440!important;
  color:#1d1821!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
}

.apb-final-offer[data-option="digital"]>b{
  background:#40305f!important;
  color:#fff!important;
}

.apb-final-offer strong{
  display:block!important;
  width:100%!important;
  font-size:17px!important;
  line-height:1.08!important;
  font-weight:900!important;
  font-style:italic!important;
  text-align:center!important;
}

.apb-final-offer span{
  display:flex!important;
  width:100%!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:8px!important;
}

.apb-final-offer del{
  color:#74677b!important;
  font-size:13px!important;
  font-weight:900!important;
}

.apb-final-offer em{
  color:#201b25!important;
  font-size:24px!important;
  line-height:1!important;
  font-style:normal!important;
  font-weight:900!important;
}

.apb-final-offer p{
  min-height:32px!important;
  margin:0!important;
  color:#7c7081!important;
  font-size:12px!important;
  line-height:1.25!important;
  text-align:center!important;
}

.apb-final-offer-list{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

.apb-final-offer-list small{
  display:block!important;
  margin:4px 0!important;
  color:#211d25!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  text-align:left!important;
  font-weight:700!important;
}

.apb-final .apb-final-offer ul,
.apb-final-flat .apb-final-offer ul{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.apb-final .apb-final-offer li,
.apb-final-flat .apb-final-offer li{
  display:block!important;
  min-height:0!important;
  margin:4px 0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  color:#211d25!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  text-align:left!important;
}

.apb-final-benefits{
  margin-top:2px!important;
}

@media(max-width:900px){
  .apb-work.apb-is-final .apb-options-col{
    overflow:auto!important;
    padding-bottom:84px!important;
  }

  .apb-work.apb-is-final .apb-final-flat{
    overflow:visible!important;
    gap:8px!important;
  }

  .apb-final-offers{
    width:100%!important;
    gap:8px!important;
    padding:0 8px!important;
    margin-top:2px!important;
  }

  .apb-final-offer{
    min-height:154px!important;
    padding:22px 8px 9px!important;
    border-radius:14px!important;
  }

  .apb-final-offer strong{
    font-size:14px!important;
  }

  .apb-final-offer em{
    font-size:20px!important;
  }

  .apb-final-offer p,
  .apb-final-offer-list small,
  .apb-final .apb-final-offer li,
  .apb-final-flat .apb-final-offer li{
    font-size:10.8px!important;
  }

  .apb-work.apb-is-final .apb-final-benefits{
    display:flex!important;
    flex-direction:column!important;
    gap:5px!important;
    width:100%!important;
    margin:4px 0 0!important;
    padding:0 10px!important;
  }
}

/* v0.9.42: typewriter writes letters, pauses, then deletes letters back. */
.apb-royal-animated-title .apb-hero-words span{
  overflow:hidden!important;
  white-space:nowrap!important;
  width:0;
  clip-path:none!important;
  animation:apbHeroTypeDelete 10.4s steps(24,end) infinite!important;
}

.apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:2.6s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:5.2s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:7.8s!important;}

@keyframes apbHeroTypeDelete{
  0%{opacity:0;width:0;}
  4%{opacity:1;width:0;}
  14%,20%{opacity:1;width:100%;}
  27%{opacity:1;width:0;}
  28%,100%{opacity:0;width:0;}
}

/* v0.9.38: landing slider images + animated Ukrainian hero phrase. */
.apb-royal-animated-title .apb-hero-static{
  display:block;
}

.apb-royal-animated-title .apb-hero-words{
  position:relative;
  display:block;
  height:44px;
  margin-top:1px;
  overflow:hidden;
  color:#ffc84a;
  white-space:nowrap;
}

.apb-royal-animated-title .apb-hero-words span{
  position:absolute;
  left:0;
  top:0;
  opacity:0;
  transform:translateY(18px);
  animation:apbHeroWordSwap 9.6s cubic-bezier(.22,.7,.26,1) infinite;
}

.apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:2.4s;}
.apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:4.8s;}
.apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:7.2s;}

@keyframes apbHeroWordSwap{
  0%{opacity:0;transform:translateY(18px);filter:blur(3px);}
  7%,22%{opacity:1;transform:translateY(0);filter:blur(0);}
  29%,100%{opacity:0;transform:translateY(-18px);filter:blur(3px);}
}

@media(min-width:901px){
  .apb-royal-animated-title .apb-hero-words{
    height:60px;
  }
}

@media(max-width:390px){
  .apb-royal-animated-title .apb-hero-words{
    height:39px;
  }
}

/* v0.9.31: unified card design + a little left breathing room + canvas -5%. */
@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas,
  .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:76vw!important;
    max-height:95%!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-columns:none!important;
    grid-template-rows:96px 96px!important;
    grid-auto-columns:calc((100vw - 46px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:204px!important;
    min-height:204px!important;
    max-height:204px!important;
    gap:6px!important;
    margin:0!important;
    padding:4px 16px 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }

  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-columns:none!important;
    grid-template-rows:96px!important;
    grid-auto-columns:calc((100vw - 46px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:110px!important;
    min-height:110px!important;
    max-height:110px!important;
    gap:6px!important;
    margin:0!important;
    padding:4px 16px 10px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    position:relative!important;
    display:block!important;
    width:calc((100vw - 46px)/3)!important;
    min-width:calc((100vw - 46px)/3)!important;
    max-width:calc((100vw - 46px)/3)!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
    padding:0!important;
    border:1px solid #d8d8d8!important;
    border-radius:5px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 1px 4px rgba(0,0,0,.14)!important;
    scroll-snap-align:start!important;
    transform:none!important;
    animation:none!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style.active,
  .apb-stage:has(.apb-size-grid) .apb-size.active,
  .apb-stage:has(.apb-quality-grid) .apb-quality.active{
    border-color:#24d600!important;
    background:#fff!important;
    box-shadow:0 1px 4px rgba(0,0,0,.14)!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style img,
  .apb-stage:has(.apb-size-grid) .apb-size img,
  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
    margin:0!important;
    border-radius:0!important;
    background:#f5f1f4!important;
    box-shadow:none!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style img,
  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    object-fit:cover!important;
    object-position:center!important;
    padding:0!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size img{
    object-fit:contain!important;
    object-position:center!important;
    padding:5px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style span,
  .apb-stage:has(.apb-size-grid) .apb-size span,
  .apb-stage:has(.apb-quality-grid) .apb-quality span{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:26px!important;
    min-height:26px!important;
    padding:1px 2px!important;
    background:rgba(255,255,255,.9)!important;
    color:#111!important;
    font-size:10.5px!important;
    line-height:12px!important;
    font-weight:500!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:hidden!important;
    border-radius:0!important;
    box-shadow:none!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style.active span,
  .apb-stage:has(.apb-size-grid) .apb-size.active span,
  .apb-stage:has(.apb-quality-grid) .apb-quality.active span{
    background:#24d600!important;
    color:#fff!important;
    font-weight:800!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid{
    grid-template-rows:91px 91px!important;
    grid-auto-columns:calc((100vw - 46px)/3)!important;
    height:194px!important;
    min-height:194px!important;
    max-height:194px!important;
    padding:4px 16px 10px!important;
  }

  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    grid-template-rows:91px!important;
    grid-auto-columns:calc((100vw - 46px)/3)!important;
    height:105px!important;
    min-height:105px!important;
    max-height:105px!important;
    padding:4px 16px 10px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 46px)/3)!important;
    min-width:calc((100vw - 46px)/3)!important;
    max-width:calc((100vw - 46px)/3)!important;
    height:87px!important;
    min-height:87px!important;
    max-height:87px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style img,
  .apb-stage:has(.apb-size-grid) .apb-size img,
  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style span,
  .apb-stage:has(.apb-size-grid) .apb-size span,
  .apb-stage:has(.apb-quality-grid) .apb-quality span{
    height:25px!important;
    min-height:25px!important;
    font-size:9.8px!important;
    line-height:11px!important;
  }
}

/* v0.9.32: stronger left breathing room for all card rows. */
@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid{
    grid-auto-columns:calc((100vw - 52px)/3)!important;
    padding-left:22px!important;
    padding-right:18px!important;
  }

  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    grid-auto-columns:calc((100vw - 52px)/3)!important;
    padding-left:22px!important;
    padding-right:18px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 52px)/3)!important;
    min-width:calc((100vw - 52px)/3)!important;
    max-width:calc((100vw - 52px)/3)!important;
  }
}

/* v0.9.33: match the tighter card look and move upload camera to style step. */
@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas,
  .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:72vw!important;
    max-height:90%!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid{
    grid-auto-columns:calc((100vw - 70px)/3)!important;
    gap:8px!important;
    padding-left:20px!important;
    padding-right:24px!important;
  }

  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    grid-auto-columns:calc((100vw - 70px)/3)!important;
    gap:8px!important;
    padding-left:20px!important;
    padding-right:24px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 70px)/3)!important;
    min-width:calc((100vw - 70px)/3)!important;
    max-width:calc((100vw - 70px)/3)!important;
  }
}

/* v0.9.34: hard left gap for product/card rows, not just inner padding. */
@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid,
  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    box-sizing:border-box!important;
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    margin-left:18px!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:18px!important;
    grid-auto-columns:calc((100vw - 62px)/3)!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 62px)/3)!important;
    min-width:calc((100vw - 62px)/3)!important;
    max-width:calc((100vw - 62px)/3)!important;
  }
}

/* v0.9.35: keep left gap without creating an empty scroll area. */
@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid,
  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:18px!important;
    padding-right:18px!important;
    box-sizing:border-box!important;
    grid-auto-columns:calc((100vw - 60px)/3)!important;
    scroll-padding-left:18px!important;
    scroll-padding-right:18px!important;
    overscroll-behavior-x:contain!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 60px)/3)!important;
    min-width:calc((100vw - 60px)/3)!important;
    max-width:calc((100vw - 60px)/3)!important;
  }
}

/* v0.9.36: product cards as one clean horizontal row; left gap -10%. */
@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid,
  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-columns:none!important;
    grid-template-rows:178px!important;
    grid-auto-columns:calc((100vw - 56px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:190px!important;
    min-height:190px!important;
    max-height:190px!important;
    gap:8px!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:4px 18px 10px 16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:16px!important;
    scroll-padding-right:18px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 56px)/3)!important;
    min-width:calc((100vw - 56px)/3)!important;
    max-width:calc((100vw - 56px)/3)!important;
    height:174px!important;
    min-height:174px!important;
    max-height:174px!important;
    padding:0!important;
    border:1px solid #d8d8d8!important;
    border-radius:5px!important;
    background:#fff!important;
    overflow:hidden!important;
    box-shadow:0 1px 4px rgba(0,0,0,.14)!important;
    scroll-snap-align:start!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style img,
  .apb-stage:has(.apb-size-grid) .apb-size img,
  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    width:100%!important;
    height:136px!important;
    min-height:136px!important;
    max-height:136px!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    background:#f5f1f4!important;
    box-shadow:none!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style img,
  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    object-fit:cover!important;
    object-position:center!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size img{
    object-fit:contain!important;
    object-position:center!important;
    padding:8px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style span,
  .apb-stage:has(.apb-size-grid) .apb-size span,
  .apb-stage:has(.apb-quality-grid) .apb-quality span{
    height:38px!important;
    min-height:38px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:2px 3px!important;
    font-size:11px!important;
    line-height:13px!important;
    font-weight:600!important;
    text-align:center!important;
    color:#111!important;
    background:rgba(255,255,255,.94)!important;
    overflow:hidden!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style.active span,
  .apb-stage:has(.apb-size-grid) .apb-size.active span,
  .apb-stage:has(.apb-quality-grid) .apb-quality.active span{
    background:#24d600!important;
    color:#fff!important;
    font-weight:800!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid,
  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    grid-template-rows:168px!important;
    grid-auto-columns:calc((100vw - 56px)/3)!important;
    height:180px!important;
    min-height:180px!important;
    max-height:180px!important;
    padding:4px 18px 10px 16px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 56px)/3)!important;
    min-width:calc((100vw - 56px)/3)!important;
    max-width:calc((100vw - 56px)/3)!important;
    height:164px!important;
    min-height:164px!important;
    max-height:164px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style img,
  .apb-stage:has(.apb-size-grid) .apb-size img,
  .apb-stage:has(.apb-quality-grid) .apb-quality img.apb-quality-photo{
    height:128px!important;
    min-height:128px!important;
    max-height:128px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style span,
  .apb-stage:has(.apb-size-grid) .apb-size span,
  .apb-stage:has(.apb-quality-grid) .apb-quality span{
    height:36px!important;
    min-height:36px!important;
    font-size:10.5px!important;
    line-height:12px!important;
  }
}

/* v0.9.37: sizes back to 3x2, canvas -5% more, bigger gap above cards. */
@media(max-width:900px){
  .apb-stage:has(.apb-style-grid) .apb-canvas-wrap canvas,
  .apb-stage:has(.apb-size-grid) .apb-canvas-wrap canvas,
  .apb-stage:has(.apb-quality-grid) .apb-canvas-wrap canvas{
    max-width:68vw!important;
    max-height:86%!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-options-col,
  .apb-stage:has(.apb-size-grid) .apb-options-col,
  .apb-stage:has(.apb-quality-grid) .apb-options-col{
    padding-top:18px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size-grid{
    display:grid!important;
    grid-auto-flow:column!important;
    grid-template-columns:none!important;
    grid-template-rows:96px 96px!important;
    grid-auto-columns:calc((100vw - 56px)/3)!important;
    width:100vw!important;
    max-width:100vw!important;
    height:206px!important;
    min-height:206px!important;
    max-height:206px!important;
    gap:8px!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:4px 18px 10px 16px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:16px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
    background:#fff!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size{
    width:calc((100vw - 56px)/3)!important;
    min-width:calc((100vw - 56px)/3)!important;
    max-width:calc((100vw - 56px)/3)!important;
    height:92px!important;
    min-height:92px!important;
    max-height:92px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size img{
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:5px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size span{
    height:26px!important;
    min-height:26px!important;
    font-size:10.5px!important;
    line-height:12px!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-size-grid) .apb-size-grid{
    grid-template-rows:91px 91px!important;
    grid-auto-columns:calc((100vw - 56px)/3)!important;
    height:196px!important;
    min-height:196px!important;
    max-height:196px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size{
    width:calc((100vw - 56px)/3)!important;
    min-width:calc((100vw - 56px)/3)!important;
    max-width:calc((100vw - 56px)/3)!important;
    height:87px!important;
    min-height:87px!important;
    max-height:87px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size img{
    height:62px!important;
    min-height:62px!important;
    max-height:62px!important;
  }

  .apb-stage:has(.apb-size-grid) .apb-size span{
    height:25px!important;
    min-height:25px!important;
    font-size:9.8px!important;
    line-height:11px!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid,
  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    width:100vw!important;
    max-width:100vw!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:18px!important;
    padding-right:18px!important;
    grid-auto-columns:calc((100vw - 60px)/3)!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 60px)/3)!important;
    min-width:calc((100vw - 60px)/3)!important;
    max-width:calc((100vw - 60px)/3)!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid,
  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
    margin-left:18px!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:18px!important;
    grid-auto-columns:calc((100vw - 62px)/3)!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 62px)/3)!important;
    min-width:calc((100vw - 62px)/3)!important;
    max-width:calc((100vw - 62px)/3)!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid,
  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    grid-auto-columns:calc((100vw - 70px)/3)!important;
    gap:8px!important;
    padding-left:20px!important;
    padding-right:24px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 70px)/3)!important;
    min-width:calc((100vw - 70px)/3)!important;
    max-width:calc((100vw - 70px)/3)!important;
  }
}

@media(max-width:390px){
  .apb-stage:has(.apb-style-grid) .apb-style-grid,
  .apb-stage:has(.apb-size-grid) .apb-size-grid,
  .apb-stage:has(.apb-quality-grid) .apb-quality-grid{
    grid-auto-columns:calc((100vw - 52px)/3)!important;
    padding-left:22px!important;
    padding-right:18px!important;
  }

  .apb-stage:has(.apb-style-grid) .apb-style,
  .apb-stage:has(.apb-size-grid) .apb-size,
  .apb-stage:has(.apb-quality-grid) .apb-quality{
    width:calc((100vw - 52px)/3)!important;
    min-width:calc((100vw - 52px)/3)!important;
    max-width:calc((100vw - 52px)/3)!important;
  }
}

/* v0.9.42 final override: hero phrase types in and deletes back letter-by-letter. */
.apb-royal-animated-title{
  overflow:visible!important;
  margin-bottom:18px!important;
}

.apb-royal-animated-title .apb-hero-words{
  height:76px!important;
  min-height:76px!important;
  overflow:visible!important;
  white-space:normal!important;
}

.apb-royal-animated-title .apb-hero-words span{
  display:inline-block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  line-height:1.08!important;
  width:0;
  opacity:0;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  animation:apbHeroTypeDelete 10.4s steps(24,end) infinite!important;
}

.apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:2.6s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:5.2s!important;}
.apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:7.8s!important;}

@keyframes apbHeroTypeDelete{
  0%{opacity:0;width:0;}
  4%{opacity:1;width:0;}
  14%,20%{opacity:1;width:100%;}
  27%{opacity:1;width:0;}
  28%,100%{opacity:0;width:0;}
}

@media(max-width:390px){
  .apb-royal-animated-title .apb-hero-words{
    height:72px!important;
    min-height:72px!important;
  }
}

/* v0.9.43 real last override: readable typewriter with 3 second pause. */
html #app .apb-royal-animated-title{
  font-size:clamp(42px,10.4vw,58px)!important;
  line-height:.98!important;
  overflow:visible!important;
  margin-bottom:18px!important;
}

html #app .apb-royal-animated-title .apb-hero-static{
  font-size:1em!important;
  line-height:.98!important;
}

html #app .apb-royal-animated-title .apb-hero-words{
  height:64px!important;
  min-height:64px!important;
  margin-top:6px!important;
  overflow:visible!important;
  white-space:normal!important;
  font-size:clamp(28px,7.2vw,42px)!important;
  line-height:1.08!important;
}

html #app .apb-royal-animated-title .apb-hero-words span{
  display:inline-block!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  width:0;
  opacity:0;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  animation:apbHeroTypeDeleteSlow 15.2s steps(26,end) infinite!important;
}

html #app .apb-royal-animated-title .apb-hero-words span:nth-child(2){animation-delay:3.8s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(3){animation-delay:7.6s!important;}
html #app .apb-royal-animated-title .apb-hero-words span:nth-child(4){animation-delay:11.4s!important;}

@media(max-width:390px){
  html #app .apb-royal-animated-title{
    font-size:clamp(36px,9.5vw,46px)!important;
  }

  html #app .apb-royal-animated-title .apb-hero-words{
    height:56px!important;
    min-height:56px!important;
    font-size:clamp(23px,6.1vw,30px)!important;
  }
}

/* v0.10.141: keep bottom CTA typography consistent with the original bold builder button */
.apb-actions #apb-next,
.apb-actions #apb-next.apb-create-style-cta{
  font-weight:900!important;
  letter-spacing:.01em!important;
}

/* v0.10.142: same soft branded gradient for "Далі" and "Створити"; shine only on create icon */
.apb-actions #apb-next{
  background:linear-gradient(120deg,#df78b3 0%,#d966ad 48%,#a95fd2 100%)!important;
  background-size:150% 100%!important;
  color:#fff!important;
  box-shadow:0 5px 13px rgba(179,54,128,.28)!important;
}
.apb-actions #apb-next.apb-create-style-cta{
  background:linear-gradient(120deg,#df78b3 0%,#d966ad 48%,#a95fd2 100%)!important;
  background-size:150% 100%!important;
}
.apb-actions #apb-next.apb-create-style-cta:after{
  background:linear-gradient(120deg,rgba(255,255,255,.16),rgba(255,255,255,.42),rgba(255,255,255,.16))!important;
  background-size:220% 100%!important;
  color:#fff!important;
  text-shadow:0 0 8px rgba(255,255,255,.75)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.34),0 0 10px rgba(255,255,255,.18)!important;
  animation:apbCreateIconSpark 2.2s ease-in-out infinite!important;
}
@keyframes apbCreateIconSpark{
  0%,100%{
    background-position:0 50%;
    color:rgba(255,255,255,.88);
    text-shadow:0 0 4px rgba(255,255,255,.45);
    filter:saturate(1) brightness(1);
    transform:scale(1)!important;
  }
  45%{
    background-position:100% 50%;
    color:#fff;
    text-shadow:0 0 5px rgba(255,255,255,.95),0 0 13px rgba(255,255,255,.85),0 0 18px rgba(255,225,250,.55);
    filter:saturate(1.22) brightness(1.18);
    transform:scale(1.12)!important;
  }
  62%{
    background-position:100% 50%;
    color:#fff;
    text-shadow:0 0 3px rgba(255,255,255,.55);
    filter:saturate(1.08) brightness(1.05);
    transform:scale(1)!important;
  }
}

/* v0.10.143: make back arrow typography match the arrow in "Далі" */
.apb-actions #apb-prev{
  font-family:Gilroy,Arial,sans-serif!important;
  font-weight:900!important;
}
.apb-actions #apb-prev:before{
  content:"→"!important;
  font-family:Gilroy,Arial,sans-serif!important;
  font-weight:900!important;
  font-size:24px!important;
  line-height:1!important;
  transform:translateY(-1px) scaleX(-1)!important;
  letter-spacing:0!important;
}
@media(max-width:390px){
  .apb-actions #apb-prev:before{
    font-size:23px!important;
    transform:translateY(-1px) scaleX(-1)!important;
  }
}

/* v0.10.147: force the back icon to be the same arrow glyph as "Далі →", mirrored */
.apb-actions #apb-prev{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  color:transparent!important;
  font-size:0!important;
  line-height:0!important;
  text-indent:0!important;
  overflow:hidden!important;
}
.apb-actions #apb-prev:before{
  content:"→"!important;
  display:block!important;
  color:#a7a7a7!important;
  font-family:Gilroy,Arial,sans-serif!important;
  font-weight:900!important;
  font-size:25px!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-indent:0!important;
  transform:translateY(-1px) scaleX(-1)!important;
}
@media(max-width:390px){
  .apb-actions #apb-prev:before{
    font-size:24px!important;
    transform:translateY(-1px) scaleX(-1)!important;
  }
}

/* v0.10.147: "Створити" has a real icon element; the shine lives on the icon only */
.apb-actions #apb-next.apb-create-style-cta{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
}
.apb-actions #apb-next.apb-create-style-cta:after{
  content:none!important;
  display:none!important;
}
.apb-actions #apb-next.apb-create-style-cta .apb-create-style-text{
  display:inline-block!important;
  color:#fff!important;
  font:inherit!important;
  line-height:1!important;
}
.apb-actions #apb-next.apb-create-style-cta .apb-create-style-icon,
.apb-refresh-generate .apb-refresh-generate-icon{
  position:relative!important;
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.18)!important;
  color:#fff!important;
  font-size:16px!important;
  line-height:1!important;
  text-shadow:0 0 7px rgba(255,255,255,.65)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 8px rgba(255,255,255,.16)!important;
  animation:apbCreateIconSpark 2.2s ease-in-out infinite!important;
}
.apb-actions #apb-next.apb-create-style-cta .apb-create-style-icon:after,
.apb-refresh-generate .apb-refresh-generate-icon:after{
  content:""!important;
  position:absolute!important;
  inset:-35% auto -35% -60%!important;
  width:46%!important;
  transform:rotate(22deg)!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent)!important;
  filter:blur(.2px)!important;
  animation:apbCreateIconGlint 2.2s ease-in-out infinite!important;
}
@keyframes apbCreateIconGlint{
  0%,36%,100%{left:-65%;opacity:0}
  46%{opacity:1}
  64%{left:120%;opacity:0}
}

/* v0.10.150: hard-match back arrow with the "Далі →" glyph and keep shine on the create icon */
.apb-actions #apb-prev{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  color:#aaa!important;
  font-size:0!important;
  line-height:0!important;
  overflow:hidden!important;
}
.apb-actions #apb-prev:before{
  content:none!important;
  display:none!important;
}
.apb-actions #apb-prev .apb-prev-arrow{
  display:block!important;
  color:#aaa!important;
  font-family:Gilroy,Arial,sans-serif!important;
  font-size:25px!important;
  font-weight:900!important;
  line-height:1!important;
  transform:translateY(-1px) scaleX(-1)!important;
}
.apb-actions #apb-next.apb-create-style-cta .apb-create-style-icon,
.apb-refresh-generate .apb-refresh-generate-icon{
  isolation:isolate!important;
}
.apb-actions #apb-next.apb-create-style-cta .apb-create-style-icon:before,
.apb-refresh-generate .apb-refresh-generate-icon:before{
  content:""!important;
  position:absolute!important;
  inset:-20%!important;
  z-index:-1!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.72),rgba(255,255,255,.16) 42%,rgba(255,255,255,0) 68%)!important;
  animation:apbCreateIconPulse 2.2s ease-in-out infinite!important;
}
@keyframes apbCreateIconPulse{
  0%,100%{opacity:.38;transform:scale(.92)}
  45%{opacity:1;transform:scale(1.08)}
}
@media(max-width:390px){
  .apb-actions #apb-prev .apb-prev-arrow{
    font-size:24px!important;
    transform:translateY(-1px) scaleX(-1)!important;
  }
}

/* v0.10.151: final arrow + create-icon shine overrides */
.apb-actions #apb-prev{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  color:#aaa!important;
  font-size:0!important;
  line-height:0!important;
  font-family:Gilroy,Arial,sans-serif!important;
}
.apb-actions #apb-prev:before,
.apb-actions #apb-prev:after{
  content:none!important;
  display:none!important;
}
.apb-actions #apb-prev .apb-prev-arrow{
  display:block!important;
  color:#aaa!important;
  font-family:inherit!important;
  font-size:25px!important;
  font-weight:900!important;
  line-height:1!important;
  transform:translateY(-1px)!important;
}
.apb-actions #apb-next.apb-create-style-cta .apb-create-style-icon,
.apb-refresh-generate .apb-refresh-generate-icon{
  position:relative!important;
  overflow:hidden!important;
}
.apb-actions #apb-next.apb-create-style-cta .apb-create-style-icon:after,
.apb-refresh-generate .apb-refresh-generate-icon:after{
  content:""!important;
  position:absolute!important;
  top:-25%!important;
  bottom:-25%!important;
  left:-75%!important;
  width:42%!important;
  z-index:3!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.92),transparent)!important;
  transform:skewX(-18deg)!important;
  filter:blur(.15px)!important;
  animation:apbCreateIconButtonShine 2.65s ease-in-out infinite!important;
}
@keyframes apbCreateIconButtonShine{
  0%,48%{left:-75%;opacity:0}
  58%{opacity:1}
  82%,100%{left:132%;opacity:0}
}
@media(max-width:390px){
  .apb-actions #apb-prev .apb-prev-arrow{
    font-size:24px!important;
    transform:translateY(-1px)!important;
  }
}

/* v0.10.154: final back arrow + bottom-right neutral uncertainty gap */
.apb-actions #apb-prev,
.apb-actions #apb-prev:hover,
.apb-actions #apb-prev:focus{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  font-size:0!important;
  line-height:0!important;
  font-family:Gilroy,Arial,sans-serif!important;
}
.apb-actions #apb-prev:before,
.apb-actions #apb-prev:after{
  content:none!important;
  display:none!important;
}
.apb-actions #apb-prev .apb-prev-arrow{
  display:block!important;
  font-family:Gilroy,Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:1!important;
  color:#aaa!important;
  transform:translateY(-1px)!important;
  text-indent:0!important;
  letter-spacing:0!important;
}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet){
  border-color:transparent!important;
  box-shadow:0 8px 18px rgba(58,40,102,.23)!important;
}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet):not(.is-loading):before{
  content:""!important;
  position:absolute!important;
  inset:-3px!important;
  width:auto!important;
  height:auto!important;
  border-radius:50%!important;
  background:conic-gradient(from 0deg, #3a2866 0 112deg, transparent 112deg 158deg, #3a2866 158deg 360deg)!important;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px))!important;
  mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 3px))!important;
  z-index:2!important;
  pointer-events:none!important;
}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet) img{
  position:relative!important;
  z-index:1!important;
}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet) i{
  z-index:4!important;
}
@media(max-width:390px){
  .apb-actions #apb-prev .apb-prev-arrow{
    font-size:21px!important;
    transform:translateY(-1px)!important;
  }
}

/* v0.10.157: exact mirrored next-arrow + thinner neutral gender gap */
.apb-actions #apb-prev,
.apb-actions #apb-prev:hover,
.apb-actions #apb-prev:focus{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  font-size:0!important;
  line-height:0!important;
  font-family:Gilroy,Arial,sans-serif!important;
}
.apb-actions #apb-prev:before,
.apb-actions #apb-prev:after{
  content:none!important;
  display:none!important;
}
.apb-actions #apb-prev .apb-prev-arrow{
  display:inline-block!important;
  font-family:Gilroy,Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:1!important;
  color:#aaa!important;
  transform:translateY(-1px) scaleX(-1)!important;
  transform-origin:center!important;
  text-indent:0!important;
  letter-spacing:0!important;
}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet){
  border-color:transparent!important;
}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet):not(.is-loading):before{
  content:""!important;
  position:absolute!important;
  inset:-2px!important;
  width:auto!important;
  height:auto!important;
  border-radius:50%!important;
  background:conic-gradient(from 0deg, #3a2866 0 123deg, transparent 123deg 146deg, #3a2866 146deg 360deg)!important;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px))!important;
  mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px))!important;
  z-index:2!important;
  pointer-events:none!important;
}
@media(max-width:390px){
  .apb-actions #apb-prev .apb-prev-arrow{
    font-size:21px!important;
    transform:translateY(-1px) scaleX(-1)!important;
  }
}

/* v0.10.160: real mirrored back arrow, shorter neutral gap, pet-only auto tab support */
.apb-actions #apb-prev,
.apb-actions #apb-prev:hover,
.apb-actions #apb-prev:focus{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  font-size:0!important;
  line-height:0!important;
  font-family:Gilroy,Arial,sans-serif!important;
}
.apb-actions #apb-prev:before,
.apb-actions #apb-prev:after{
  content:none!important;
  display:none!important;
}
.apb-actions #apb-prev .apb-prev-arrow{
  display:inline-block!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  font-family:Gilroy,Arial,sans-serif!important;
  font-size:22px!important;
  font-weight:700!important;
  line-height:1!important;
  color:#aaa!important;
  transform:translateY(-1px)!important;
  transform-origin:center!important;
  text-indent:0!important;
  letter-spacing:0!important;
}
.apb-subject-chip.apb-subject-uncertain:not(.apb-subject-pet):not(.is-loading):before{
  content:""!important;
  position:absolute!important;
  inset:-2px!important;
  width:auto!important;
  height:auto!important;
  border-radius:50%!important;
  background:conic-gradient(from 0deg, #3a2866 0 129deg, transparent 129deg 140deg, #3a2866 140deg 360deg)!important;
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px))!important;
  mask:radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 2px))!important;
  z-index:2!important;
  pointer-events:none!important;
}
@media(max-width:390px){
  .apb-actions #apb-prev .apb-prev-arrow{
    font-size:21px!important;
    transform:translateY(-1px)!important;
  }
}
