:root{--ink:#211727;--muted:#827485;--purple:#862b8f;--deep:#60206b;--pink:#f6dce9}*{box-sizing:border-box}html{background:#fff8fc}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input{font:inherit}.maker-page{background:radial-gradient(circle at 0 0,#f7dbea 0,transparent 32%),linear-gradient(145deg,#fff9fc,#fff 60%,#fbf0f7);min-height:100vh;padding:clamp(50px,7vw,100px) clamp(18px,4vw,70px) clamp(40px,6vw,90px)}.maker-header{margin:0 auto clamp(38px,5vw,72px);max-width:900px;text-align:center}.maker-header h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,82px);font-weight:500;letter-spacing:-.035em;line-height:1;margin:0 0 20px}.maker-header p{color:var(--muted);font-size:clamp(15px,1.6vw,20px);line-height:1.6;margin:0}.maker-grid{align-items:start;display:grid;gap:clamp(26px,5vw,70px);grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);margin:0 auto;max-width:1420px}.preview-card,.controls-card{background:rgba(255,255,255,.94);border:1px solid rgba(104,44,109,.08);border-radius:clamp(24px,3vw,36px);box-shadow:0 25px 80px rgba(78,35,83,.11)}.preview-card{padding:clamp(18px,2.4vw,35px)}.canvas-shell{aspect-ratio:1;background:#eee4ef;border-radius:clamp(17px,2vw,26px);overflow:hidden;position:relative}.canvas-shell canvas{cursor:grab;display:block;height:100%;touch-action:none;width:100%}.canvas-shell canvas:active{cursor:grabbing}.preview-hint{align-items:center;background:rgba(37,20,40,.78);border-radius:16px;color:#fff;display:flex;flex-direction:column;gap:4px;left:50%;padding:13px 20px;pointer-events:none;position:absolute;top:45%;transform:translate(-50%,-50%);white-space:nowrap}.preview-hint span{color:#eadfea;font-size:12px}.preview-card>p{color:#938597;font-size:13px;margin:16px 0 4px;text-align:center}.controls-card{padding:clamp(28px,4vw,54px)}.step{align-items:center;background:var(--pink);border-radius:50%;color:var(--purple);display:flex;font-size:12px;font-weight:900;height:38px;justify-content:center;margin:30px 0 15px;width:38px}.step:first-child{margin-top:0}.field-label,.range-heading label{display:block;font-size:15px;font-weight:800;margin-bottom:10px}.controls-card input[type=text]{background:#fff;border:1px solid #ded1df;border-radius:15px;color:var(--ink);outline:none;padding:17px 18px;width:100%}.controls-card input[type=text]:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(134,43,143,.08)}.upload-box{align-items:center;background:linear-gradient(135deg,#fbf1f8,#f1e4f3);border:1px dashed #b672ba;border-radius:16px;cursor:pointer;display:flex;justify-content:space-between;padding:22px;transition:border-color .2s,transform .2s}.upload-box:hover{border-color:var(--purple);transform:translateY(-1px)}.upload-box strong{color:var(--deep)}.upload-box span{color:#9a899c;font-size:13px}.range-heading{align-items:center;display:flex;justify-content:space-between;margin-top:17px}.range-heading output{color:var(--purple);font-size:13px;font-weight:900}.controls-card input[type=range]{accent-color:var(--purple);width:100%}.controls-card input[type=range]:disabled{cursor:not-allowed;opacity:.4}.reset-button{background:#fff;border:1px solid #d8c8da;border-radius:999px;color:var(--deep);cursor:pointer;font-size:13px;font-weight:800;margin-top:22px;padding:11px 19px}.reset-button:disabled{cursor:not-allowed;opacity:.4}.consent{align-items:flex-start;color:#716575;display:flex;font-size:13px;gap:10px;line-height:1.45;margin:30px 0 19px}.consent input{accent-color:var(--purple);margin-top:3px}.download-button{background:linear-gradient(105deg,#76267f,#a13e8f);border:0;border-radius:999px;color:#fff;cursor:pointer;font-weight:900;padding:17px 20px;transition:box-shadow .2s,transform .2s;width:100%}.download-button:hover{box-shadow:0 12px 28px rgba(104,35,112,.25);transform:translateY(-2px)}.download-button:disabled{cursor:wait;opacity:.65}.message{background:#f6e9f3;border-radius:12px;color:#67226f;font-size:13px;line-height:1.45;margin:14px 0 0;padding:12px;text-align:center}.message[data-type=error]{background:#fff0f2;color:#9e2c4a}.message[data-type=success]{background:#edf9f2;color:#176b43}.privacy{color:#948699;font-size:12px;line-height:1.5;margin:15px auto 0;max-width:430px;text-align:center}.visually-hidden{clip:rect(0 0 0 0);height:1px;overflow:hidden;position:absolute;width:1px}.admin-page{background:#f7edf4;min-height:100vh;padding:clamp(24px,5vw,70px)}.admin-login{background:#fff;border-radius:26px;box-shadow:0 25px 70px rgba(56,23,61,.15);margin:8vh auto 0;max-width:440px;padding:40px;text-align:center}.admin-login h1{font-family:Georgia,serif;font-size:35px;margin:0 0 8px}.admin-login p{color:var(--muted);line-height:1.5}.admin-login input{border:1px solid #ddcfdf;border-radius:14px;margin:14px 0 10px;outline:none;padding:15px;width:100%}.admin-login button,.logout-button{background:var(--purple);border:0;border-radius:999px;color:#fff;cursor:pointer;font-weight:800;padding:14px;width:100%}.admin-login .error{color:#a72d51;display:block;font-size:13px;margin-top:14px}.admin-header{align-items:flex-end;display:flex;justify-content:space-between;margin:0 auto 35px;max-width:1300px}.admin-header p{color:var(--purple);font-size:11px;font-weight:900;letter-spacing:.18em}.admin-header h1{font-family:Georgia,serif;font-size:clamp(36px,5vw,58px);margin:6px 0 0}.admin-actions{align-items:center;display:flex;gap:12px}.admin-count{background:#fff;border-radius:999px;padding:12px 18px}.logout-button{padding:12px 18px;width:auto}.admin-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0 auto;max-width:1300px}.admin-grid article{background:#fff;border-radius:20px;box-shadow:0 12px 35px rgba(63,30,69,.1);overflow:hidden}.admin-grid article>img{aspect-ratio:1;display:block;object-fit:cover;width:100%}.admin-grid article>div{display:grid;gap:6px;padding:16px}.admin-grid span{color:var(--muted);font-size:12px}.admin-grid a{color:var(--purple);font-size:13px;font-weight:900;margin-top:5px}.empty-state{background:#fff;border-radius:22px;color:var(--muted);margin:0 auto;max-width:900px;padding:70px 20px;text-align:center}@media(max-width:860px){.maker-page{padding-top:45px}.maker-header{margin-bottom:32px}.maker-grid{grid-template-columns:1fr}.controls-card{padding:28px 22px}.preview-hint{white-space:normal;width:max-content}.admin-header{align-items:flex-start;flex-direction:column;gap:15px}}@media(max-width:460px){.maker-page{padding-left:12px;padding-right:12px}.upload-box{align-items:flex-start;flex-direction:column;gap:6px}.preview-card,.controls-card{border-radius:22px}.admin-actions{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important}}
