.preview-stage .diy-combo-fab{position:absolute;top:auto;left:auto;right:12px;bottom:12px;z-index:24;width:40px;height:40px;padding:0;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.95);color:#4a3d5c;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.preview-stage .diy-combo-fab:hover{transform:scale(1.06);background:#fff;color:#5b3fd4;box-shadow:0 4px 14px rgba(0,0,0,.22)}.preview-stage .diy-combo-fab:active{transform:scale(.96)}.preview-stage .diy-combo-fab:focus-visible{outline:2px solid rgba(123,92,255,.55);outline-offset:2px}.preview-stage .diy-combo-fab__icon{display:block;position:relative;z-index:1;overflow:visible}.preview-stage .diy-combo-fab__spark{transform-box:fill-box;transform-origin:center;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .28s ease}.preview-stage .diy-combo-fab:hover .diy-combo-fab__spark--lg{transform:scale(1.06) rotate(-8deg)}.preview-stage .diy-combo-fab:hover .diy-combo-fab__spark--md{transform:scale(1.12) rotate(10deg);opacity:.9}.preview-stage .diy-combo-fab:hover .diy-combo-fab__spark--sm{transform:scale(1.14) rotate(-6deg);opacity:.7}.preview-stage .diy-combo-fab:hover .diy-combo-fab__spark--xs{transform:scale(1.18) rotate(12deg);opacity:.55}.preview-stage .diy-combo-fab__badge{position:absolute;top:-3px;right:-3px;z-index:2;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:linear-gradient(135deg,#7f6bff,#ff7bbd);color:#fff;font-size:.58rem;font-weight:700;line-height:16px;text-align:center;box-shadow:0 1px 4px rgba(80,40,140,.35);pointer-events:none}@media (max-width:768px){.preview-stage .diy-combo-fab{top:auto;left:auto;right:6px;bottom:6px;width:30px;height:30px}.preview-stage .diy-combo-fab__icon{width:18px;height:18px}.preview-stage .diy-combo-fab__badge{top:-2px;right:-2px;min-width:13px;height:13px;padding:0 3px;font-size:.5rem;line-height:13px}}.diy-combo-dialog-backdrop{position:fixed;inset:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(12,8,28,.62);backdrop-filter:blur(6px);animation:diy-combo-fade-in .2s ease-out;overscroll-behavior:contain}.diy-combo-dialog{position:relative;width:min(100%,400px);max-height:min(78vh,560px);display:flex;flex-direction:column;padding:24px 20px 18px;border-radius:20px;background:linear-gradient(165deg,#fff,#f6f2ff);border:1px solid rgba(123,92,255,.22);box-shadow:0 24px 48px rgba(40,20,80,.28),inset 0 0 0 1px rgba(255,255,255,.6);color:#2d1f45;animation:diy-combo-slide-up .28s cubic-bezier(.22,1,.36,1);overscroll-behavior:contain;overflow:hidden}.diy-combo-dialog__handle{display:none;flex-shrink:0;align-items:center;justify-content:center;padding:6px 0 2px;margin:0 0 4px}.diy-combo-dialog__handle-bar{display:block;width:40px;height:4px;border-radius:999px;background:color-mix(in srgb,var(--brand-ink-soft,#2a2140) 22%,transparent)}.diy-combo-dialog__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:none;border-radius:50%;background:rgba(101,59,137,.08);color:#653b89;font-size:1.35rem;line-height:1;cursor:pointer;transition:background .15s ease}.diy-combo-dialog__close:hover{background:rgba(101,59,137,.16)}.diy-combo-dialog h4{margin:0 0 6px;padding-right:36px;font-size:1.15rem;font-weight:700;color:#4a2d6e}.diy-combo-dialog__summary{margin:0 0 14px;font-size:.85rem;font-weight:600;color:var(--brand-accent,#7b5cff)}.diy-combo-dialog__body{flex:1 1 auto;min-height:0;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:22px;margin-right:0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(123,92,255,.45) rgba(123,92,255,.08)}.diy-combo-dialog__body::-webkit-scrollbar{width:6px}.diy-combo-dialog__body::-webkit-scrollbar-track{background:rgba(123,92,255,.08);border-radius:999px}.diy-combo-dialog__body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#7b5cff,#ff7bbd);border-radius:999px}.diy-combo-dialog__footer{flex-shrink:0;margin-top:4px;padding-top:2px;padding-right:30px}.diy-combo-dialog__empty{margin:0;font-size:.9rem;color:#5c5470}.diy-combo-detail{margin-bottom:14px}.diy-combo-detail:last-child{margin-bottom:0}.diy-combo-detail--total{margin-top:12px;margin-bottom:0;padding:12px 0 2px;border-top:1px solid rgba(123,92,255,.18);display:flex;align-items:baseline;justify-content:space-between;gap:12px}.diy-combo-dialog__footer .diy-combo-detail--total{margin-top:8px}.diy-combo-dialog__open{appearance:none;display:flex;align-items:center;justify-content:center;width:100%;margin-top:12px;min-height:42px;padding:0 16px;border:none;border-radius:999px;font:inherit;font-size:.92rem;font-weight:700;letter-spacing:.01em;color:#fff;cursor:pointer;background:var(--brand-gradient-cta,linear-gradient(135deg,#7b5cff,#a78bfa));box-shadow:0 6px 16px color-mix(in srgb,var(--brand-accent,#7b5cff) 28%,transparent);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.diy-combo-dialog__open:hover{filter:brightness(1.04);box-shadow:0 8px 18px color-mix(in srgb,var(--brand-accent,#7b5cff) 34%,transparent)}.diy-combo-dialog__open:active{transform:scale(.98)}.diy-combo-detail__label{display:block;margin-bottom:6px;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--brand-accent,#7b5cff)}.diy-combo-detail--total .diy-combo-detail__label{margin-bottom:0}.diy-combo-detail__content{font-size:.88rem;line-height:1.45;color:#2d1f45}.diy-combo-detail--total .diy-combo-detail__content{font-size:1.05rem;font-weight:700;color:#4a2d6e}.diy-combo-line{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid rgba(0,0,0,.06)}.diy-combo-line:last-child{border-bottom:none}.diy-combo-line--with-thumb{align-items:center}.diy-combo-line__thumb{flex-shrink:0;width:40px;height:40px;border-radius:10px;overflow:hidden;background:#faf8ff;border:1px solid rgba(123,92,255,.12);display:grid;place-items:center}.diy-combo-line__thumb img{width:100%;height:100%;object-fit:contain;padding:3px;box-sizing:border-box}.diy-combo-line__text{flex:1;min-width:0;font-size:.88rem;line-height:1.45;color:#2d1f45}.diy-combo-line__price{flex-shrink:0;font-size:.82rem;font-weight:600;color:var(--brand-accent,#7b5cff)}@keyframes diy-combo-fade-in{0%{opacity:0}to{opacity:1}}@keyframes diy-combo-slide-up{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes diy-combo-sheet-up{0%{opacity:.96;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.diy-combo-dialog-backdrop{align-items:flex-end;justify-content:stretch;padding:0}.diy-combo-dialog{width:100%;max-width:none;max-height:min(85vh,640px);margin:0;padding:4px 16px calc(16px + env(safe-area-inset-bottom, 0px));border-radius:20px 20px 0 0;border-bottom:none;animation:diy-combo-sheet-up .32s cubic-bezier(.22,1,.36,1)}.diy-combo-dialog__handle{display:flex}.diy-combo-dialog__close{top:10px;right:10px}.diy-combo-dialog h4{margin-top:4px}}@media (max-width:768px) and (prefers-reduced-motion:reduce){.diy-combo-dialog{animation:none}}