body{margin:0;background:#fff;color:#232333;font-family:system-ui,sans-serif}.studio{box-sizing:border-box}button{font:inherit;cursor:pointer;border-radius:14px;border:1px solid #ddd;padding:12px 18px;background:#f2edff;color:#252333}button:disabled{opacity:.5;cursor:default}button[hidden],[hidden]{display:none!important}a{color:#6340cf}header{margin-bottom:28px}.notice,fieldset{padding:20px;border:1px solid #e4dfed;border-radius:20px;line-height:1.6;margin:20px 0}label{display:block;margin:14px 0;line-height:1.5}input[type=email],input:not([type]){box-sizing:border-box;width:100%;padding:14px;font:inherit;border:1px solid #c8c0d8;border-radius:12px}input[type=checkbox]{accent-color:#7851f3;width:20px;height:20px;vertical-align:middle}.upload{padding:24px;background:#faf7ff;border:2px dashed #d8cdf0;border-radius:22px;flex:1}.upload input{display:block;max-width:100%;margin-top:15px}.photos{display:flex;gap:15px}.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.packages button.active{background:#c5f441;border-color:#262333}.selection-summary{position:sticky;top:0;background:#fff;z-index:3;display:flex;justify-content:space-between;padding:18px 0;border-bottom:2px solid #eee}.reactions{margin:20px 0}.reaction-button strong{font-size:12px}.reaction-button input{position:absolute;inset:12px 12px auto auto;opacity:0}.reaction-button:has(input:checked){outline:3px solid #7851f3}.reaction-button:not(:has(input:checked)){opacity:.55}.primary{display:block;width:100%;padding:22px;background:#7851f3;color:white;font-weight:750;margin:25px 0}#error{color:#a12c30}.tabs{display:flex;gap:10px}#instructions{line-height:1.7}#downloads a{display:inline-block;padding:12px;margin:8px;background:#eee8ff;border-radius:12px}#test-banner{color:#8a4b00;background:#fff2cd;border-radius:12px;padding:12px}progress{width:100%}.admin{max-width:1100px;margin:auto;padding:25px}.admin article{border:1px solid #ccc;padding:20px;margin:20px 0;border-radius:16px}.admin pre{white-space:pre-wrap}.admin button{margin:6px}footer{line-height:1.8}@media(max-width:500px){.photos{display:block}.packages{grid-template-columns:repeat(2,1fr)}.studio{padding:24px 18px!important}.notice,fieldset{padding:15px}}
.subject-picker button[data-mode=together]{grid-column:1 / -1}

/* Sticker masthead: scoped so form controls keep their existing styles. */
.sticker-header{position:relative;display:block;max-width:none;width:100%;padding:0;overflow:hidden;background:linear-gradient(112deg,#e5dafa 0%,#edddf7 47%,#fbe0e9 100%)}
.sticker-header-inner{position:relative;max-width:1120px;min-height:216px;margin-inline:auto;padding:32px 100px 48px;display:flex;align-items:center;justify-content:center}
.header-copy{position:relative;z-index:1;text-align:center;max-width:100%;min-width:0}
.sticker-title{display:inline-block;font-family:system-ui,sans-serif;font-size:clamp(44px,6vw,66px);font-weight:950;line-height:1.18;letter-spacing:-2.6px;color:#2c243b;text-decoration:none;-webkit-text-stroke:7px #fff;paint-order:stroke fill;filter:drop-shadow(5px 6px 0 #8e70af);transform:rotate(-2deg);white-space:nowrap}
.sticker-title:focus-visible{outline:3px solid #6c43cc;outline-offset:10px;border-radius:8px}
.sticker-subtitle{margin:16px 0 0;color:#51465e;font-size:16px;line-height:1.45;font-weight:550}
.header-decoration{position:absolute;filter:drop-shadow(3px 4px 0 #ac8fc055);pointer-events:none}
.star-left{width:48px;height:48px;left:7%;top:35px;transform:rotate(-12deg)}
.header-heart{width:38px;height:38px;left:17%;bottom:42px;transform:rotate(-14deg)}
.star-right{width:32px;height:32px;right:17%;top:27px;transform:rotate(12deg)}
.header-paw{width:57px;height:57px;right:6%;bottom:45px;transform:rotate(16deg)}
.header-wave{position:absolute;left:0;bottom:-1px;width:100%;height:30px;display:block}
.sticker-header+main{padding-top:6px}.sticker-header+main #modes{padding-top:4px}.sticker-header+main #modes h2{margin-top:12px;margin-bottom:16px}.sticker-header+main #modes .modes{margin-top:22px}
@media(max-width:700px){.sticker-header-inner{min-height:202px;padding:37px 22px 44px}.sticker-title{font-size:clamp(36px,9.5vw,54px);letter-spacing:-1.8px;-webkit-text-stroke:6px #fff;filter:drop-shadow(4px 5px 0 #8e70af)}.sticker-subtitle{max-width:310px;margin:15px auto 0;font-size:13px;line-height:1.5}.star-left{width:28px;height:28px;left:4%;top:15px}.header-heart{width:25px;height:25px;left:5%;bottom:29px}.star-right{width:23px;height:23px;right:6%;top:17px}.header-paw{width:34px;height:34px;right:4%;bottom:25px}.header-wave{height:22px}.sticker-header+main{padding-top:4px}.sticker-header+main #modes h2{margin-top:10px;font-size:25px}}

.sticker-header+main #test-banner{margin:10px 0;font-size:12px;color:#756b80}.studio fieldset{margin-block:16px}.seller{font-size:12px;color:#777;font-weight:400}.reaction-button:has(input:checked){background:#bafa3b!important;opacity:1}.packages button,.packages button *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.packages button.active{background:#bafa3b}
.studio .reactions{width:100%;grid-template-columns:repeat(6,minmax(0,1fr))}.reaction-button{min-width:0;overflow-wrap:anywhere}.studio .reaction-sprite{max-width:100%}.subject-picker button{min-width:0}.studio fieldset{min-width:0}.studio .packages{grid-template-columns:repeat(3,minmax(0,1fr))}.studio .packages button{min-width:0}.studio section{margin-block:14px}.studio .hero{margin:0}.studio h2{margin-block:16px}.sticker-header .sticker-title{color:#2c243b}.studio .subject-picker{margin-block:14px}.studio .selection-summary{margin-block:18px}.studio header{margin:0}@media(max-width:760px){.studio .reactions{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:480px){.studio .reactions{grid-template-columns:repeat(3,minmax(0,1fr))}.studio .reaction-sprite{width:min(82px,100%);height:auto;aspect-ratio:1}.studio .packages{grid-template-columns:repeat(2,minmax(0,1fr))}.studio fieldset{padding:14px}}
.tabs{display:flex;flex-wrap:wrap;gap:8px}.studio .tabs button{min-width:0}.studio{max-width:1120px;margin-inline:auto}.studio input[type=file]{max-width:100%}
.sticker-header,.sticker-header *{box-sizing:border-box}.studio .selection-summary{display:block;padding:16px 18px;border-radius:18px;background:#f6f3fc;color:#252232}.studio .selection-summary #count{display:block;color:#252232;font-weight:750}.studio .selection-summary #price{display:none}.studio .reaction-button{opacity:1;border:2px solid #252232!important;box-shadow:0 5px 0 #252232!important}.studio .reaction-button strong{color:#252232}.studio .reaction-button:has(input:checked){background:#bafa3b!important;opacity:1}.studio .reaction-button:has(input:checked)::after{content:'✓';position:absolute;right:6px;top:6px;background:#252232;color:white;border:2px solid white;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-weight:800}.studio .packages button{border:2px solid #252232;box-shadow:0 5px 0 #252232;padding:15px;border-radius:18px;font-weight:750;color:#252232}.studio .reactions{gap:18px 12px}.studio #selection-note{margin:12px 0}.studio .upload{min-height:130px}

.studio .upload-hint{display:block;font-size:13px;line-height:1.5;color:#716c7b;font-weight:400;max-width:34em;overflow-wrap:anywhere;margin-top:12px;text-align:left}
