*{box-sizing:border-box} [hidden]{display:none!important}
.stage-body{margin:0;background:#020719;color:#fff;font:16px/1.45 system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color-scheme:dark}
.stage-page{max-width:853px;margin:auto;padding:0 4% calc(24px + env(safe-area-inset-bottom));background:radial-gradient(ellipse at 100% 8%,#361b7766,transparent 35%),radial-gradient(ellipse at 0 45%,#012a5855,transparent 50%),#02091d}
.stage-hero{position:relative;margin:0 -4.35%}.stage-hero svg{display:block;width:100%;height:auto}.stage-back{position:absolute;left:3.7%;top:6.2%;display:grid;place-items:center;width:8.5%;aspect-ratio:1;border-radius:50%;color:#fff;background:#171257;text-decoration:none;font-size:clamp(22px,5vw,42px);border:2px solid #5945df}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.stage-page h2,.stage-page legend{font-size:clamp(20px,4.4vw,34px);font-weight:750;line-height:1.18;margin:18px 0 12px;display:flex;align-items:center;gap:12px}.step-number{display:grid;place-items:center;flex:none;width:42px;height:42px;border:2px solid #00d9ff;border-radius:50%;background:#00294b;box-shadow:0 0 16px #00cfff66;font-size:26px}
.stage-style{border:0;padding:0;margin:0}.stage-style legend{padding:0;width:100%}.style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.style-card{position:relative;padding:8px 8px 14px;border:2px solid #00cfff;border-radius:20px;background:linear-gradient(145deg,#003159,#07153d);text-align:center;cursor:pointer;min-width:0}.style-card.pro{border-color:#d424ff;background:linear-gradient(145deg,#340866,#0c0a2b)}.style-card:has(input:checked){box-shadow:0 0 20px #00cfff88;border-color:#85faff}.style-card.pro:has(input:checked){box-shadow:0 0 20px #d424ff88;border-color:#f0adff}.style-card svg{display:block;width:100%;aspect-ratio:351/270;border-radius:12px}.style-card strong{display:block;font-size:clamp(17px,3.5vw,29px);margin:5px 0}.style-card span{display:block;color:#b4bbff;font-size:clamp(13px,2.8vw,22px);line-height:1.2}.style-card input{position:absolute;top:14px;right:14px;width:26px;height:26px;accent-color:#00dbff;cursor:pointer}
.stage-step{margin-top:24px}.stage-hint{margin:0 0 12px 54px;color:#afb7ff;font-size:clamp(14px,3vw,22px)}.upload-row{display:grid;grid-template-columns:1.25fr 1fr;gap:12px;align-items:stretch;position:relative}.upload-button{display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 12px;min-height:80px;border:2px solid #00d7ff;border-radius:20px;background:linear-gradient(110deg,#071837,#064f9a);box-shadow:0 0 18px #00cfff44;cursor:pointer;font-size:clamp(16px,3vw,24px);font-weight:700;text-align:center}.upload-button span{font-size:32px;color:#86faff}.upload-button.photo{border-color:#e243ff;background:linear-gradient(110deg,#25123e,#420661);box-shadow:0 0 18px #dd37ff44}.file-input{position:absolute;left:0;top:0;opacity:0;width:1px;height:1px}.upload-row:has(input:focus-visible) .upload-button{outline:3px solid white;outline-offset:3px}.upload-preview{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:94px;border:1px dashed #a7adff;border-radius:15px;overflow:hidden;color:#a6adff;text-align:center}.upload-preview>span{font-size:34px;line-height:1}.upload-preview p{margin:4px;font-size:clamp(12px,2.5vw,18px)}.upload-preview img{width:100%;height:120px;object-fit:contain;background:#061024}.remove-image{margin:8px 0;border:0;color:#bddfff;background:none;min-height:44px;text-decoration:underline}.stage-info{border:1px solid #228aff;border-radius:30px;text-align:center;padding:8px;color:#b6c5ff;font-size:14px}
.stage-page textarea,.stage-page input:not([type=radio]):not([type=file]),.stage-page select{display:block;width:100%;min-width:0;border:2px solid #9fa9ff;border-radius:16px;background:#151e42;color:white;padding:14px;font:inherit;font-size:16px;min-height:48px}.stage-page textarea{resize:vertical;min-height:112px}.stage-page textarea::placeholder{color:#a6b4ff;opacity:1}.scenario-count{display:block;text-align:right;color:#a3b5d9;font-size:12px}.stage-page button,.stage-page a,.style-card{touch-action:manipulation}.stage-page button{font:inherit;cursor:pointer}.stage-page button:disabled{cursor:wait;opacity:.65}.stage-page :focus-visible{outline:3px solid #fff;outline-offset:4px}.idea-button{display:block;min-height:48px;margin:12px auto 20px;border:2px solid #a327ff;border-radius:24px;color:#fff;background:#280b54;padding:8px 16px;box-shadow:0 0 14px #7f0baf66}
.stage-primary{display:block;width:100%;min-height:56px;text-align:center;text-decoration:none;border:1px solid #81f9ff;border-radius:24px;padding:14px 16px;color:white;background:linear-gradient(110deg,#00cfea,#1477ff 48%,#b61bff);box-shadow:0 0 18px #007fff66;font-size:clamp(18px,4vw,28px)!important;font-weight:750!important}.stage-offer-note{text-align:center;color:#b4c0ff;font-size:18px;margin:12px 0}.stage-offer-note strong{font-size:16px;font-weight:500}.stage-rule,.draft-status{text-align:center;color:#a6bbd9;font-size:13px}.stage-panel{border:1px solid #674da6;border-radius:20px;padding:20px;margin:20px 0;background:#08112b}.stage-panel h2{margin-top:0}.stage-panel p{overflow-wrap:anywhere}.stage-panel form label{display:block;margin:12px 0 6px}.stage-panel form button{margin-top:14px}.stage-panel h3{margin-top:24px}.stage-secondary{display:inline-block;min-height:44px;padding:10px 12px;border:1px solid #a6adff;border-radius:14px;color:#fff;background:#142448;text-decoration:none;margin:8px 0}.auth-tabs{display:flex;gap:10px}.auth-tabs button{flex:1;border:1px solid #6549a4;border-radius:12px;padding:12px;background:#111637;color:#ddd}.auth-tabs button[aria-pressed=true]{border-color:#00cfff;background:#13345c}.stage-notice{padding:16px;border:1px solid #39c9ff;border-radius:14px;background:#072742;color:#fff}.stage-notice.error{border-color:#ff86ad;background:#391c35}
/* Animate only the decorative halo: copy and button remain opaque. */
.mydibs-free-gift{isolation:isolate;position:relative;display:grid;grid-template-columns:31% minmax(0,1fr);align-items:center;gap:4px;margin:24px 2.3% 22px;padding:14px 14px 14px 6px;border-radius:25px;border:2px solid #24dcff;background:radial-gradient(ellipse at 10% 50%,#68118d88,transparent 70%),#07072a;color:#fff}
.mydibs-free-gift:before{content:'';position:absolute;z-index:-1;inset:-2px;border-radius:25px;box-shadow:-7px 0 25px #00dbff,7px 0 25px #b82cff;animation:free-halo 3.8s ease-in-out infinite;pointer-events:none}.mydibs-free-gift svg{display:block;width:100%;height:auto;border-radius:20px}.free-gift-copy{text-align:center;min-width:0}.free-gift-copy h2{margin:0 0 4px;font-size:clamp(22px,4.5vw,42px);line-height:1.12;letter-spacing:-.5px}.free-gift-copy h2 em{font-style:normal;color:#45e7ff}.free-gift-copy p{margin:5px 0;font-size:clamp(14px,2.7vw,23px);color:#d6deff}.free-gift-copy a{display:block;background:linear-gradient(100deg,#00bde9,#1447ff,#df00ed);border:2px solid #81e9ff;border-radius:30px;color:#fff;font-weight:750;font-size:clamp(15px,2.7vw,25px);line-height:1.25;text-decoration:none;min-height:48px;padding:12px 6px;margin:12px 0;box-shadow:0 0 12px #009eff66}.free-gift-copy>strong{display:block;font-size:clamp(14px,2.8vw,25px);line-height:1.2}.gift-free-label{fill:white;paint-order:stroke;stroke:#1c063a;stroke-width:4;font-size:30px;font-weight:900;font-family:system-ui}
@keyframes free-halo{0%,100%{opacity:.55}50%{opacity:1}}
.mydibs-free-gift{overflow:visible;margin-top:1.2rem;margin-bottom:1.8rem}
.mydibs-free-gift svg{animation:free-gift-float 5s ease-in-out infinite;transform-origin:center}
.mydibs-free-gift:after{content:'';position:absolute;z-index:-1;inset:0;border-radius:23px;background:linear-gradient(120deg,transparent 20%,#00eaff25 42%,#b731ff30 55%,transparent 75%);background-size:250% 100%;animation:free-gift-shine 7s ease-in-out infinite;pointer-events:none}
.mydibs-action[href]{color:white;text-decoration:none;text-align:center}
.image-picker{width:min(92%,460px);border:2px solid #a57bff;border-radius:24px;padding:24px;background:linear-gradient(145deg,#091f40,#231039);color:#fff;font-family:system-ui,sans-serif;box-shadow:0 0 24px #7418c988}.image-picker::backdrop{background:#010619cc}.image-picker h2{font-size:24px;margin:0 0 8px}.image-picker p{color:#c6d6ee}.image-picker button{cursor:pointer;font:inherit}.image-picker .stage-secondary{display:block;width:100%;margin-top:12px;text-align:center}
@keyframes free-gift-float{0%,100%{transform:translateY(2px) rotate(-2deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes free-gift-shine{0%,100%{background-position:100% 0;opacity:.3}50%{background-position:0 0;opacity:.8}}
.style-card:has(input:checked):after{content:'✓';position:absolute;top:14px;right:14px;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#36e7ff;color:#072348;font-size:20px;font-weight:900;pointer-events:none}.style-card.pro:has(input:checked):after{background:#eaa7ff;color:#390050}
@media(max-width:360px){.style-grid{gap:8px}.style-card{padding:6px}.style-card span{font-size:12px}.stage-page h2,.stage-page legend{font-size:19px;gap:8px}.upload-row{gap:8px}.upload-button{padding:12px 6px;font-size:15px;gap:5px}.upload-button span{font-size:24px}.step-number{width:36px;height:36px;font-size:23px}.stage-hint{margin-left:44px}.mydibs-free-gift{padding-right:8px;grid-template-columns:27% minmax(0,1fr)}.free-gift-copy h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.mydibs-free-gift:before{animation:none;opacity:.8}.mydibs-free-gift:after,.mydibs-free-gift svg{animation:none}}

.camera-dialog{max-height:calc(100dvh - 24px);overflow:auto}.camera-dialog video,.camera-dialog>img{display:block;width:100%;max-height:45dvh;object-fit:contain;border-radius:14px;background:#020815;margin:12px 0}.camera-dialog video[hidden],.camera-dialog>img[hidden]{display:none}.camera-dialog video{transform:scaleX(1)}

.mydibs-contact{text-align:center;color:#a6bbde;font-size:14px;margin:22px 0;padding:0 12px}.mydibs-contact a{color:#58c9ff;display:inline-block;padding:10px 0;overflow-wrap:anywhere}

#pro-render-options{margin-top:16px;padding:14px;border:1px solid #b058ff;border-radius:16px;background:#100d2b}#pro-render-options[hidden]{display:none}#pro-render-options label{display:block;margin-bottom:10px;color:#d6c9ff}#pro-render-options select{width:100%;min-height:48px;background:#071329;color:white;border:1px solid #827bce;border-radius:12px;padding:10px;font:inherit;font-size:16px}
