@font-face{font-family:ManuInter;src:url('../fonts-ui/inter-regular.otf') format('opentype');font-weight:400 600;font-display:swap}@font-face{font-family:ManuInter;src:url('../fonts-ui/inter-bold.otf') format('opentype');font-weight:700 900;font-display:swap}
:root{font-family:ManuInter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#28334f;background:#fffafc;--pink:#db367b;--pinkdark:#af185b;--blue:#6fa1d4;--ink:#263657;--line:#eee4ee;--shadow:0 18px 65px rgba(99,58,104,.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 78% 30% at 50% 9%,#fff0f7 0,transparent 90%),#fffafc;min-height:100vh}a{color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1210px;padding:0 22px;margin:0 auto}.site-header{background:rgba(255,255,255,.68);border-bottom:1px solid #f7edf3;backdrop-filter:blur(16px)}.top-nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand-line{display:flex;align-items:center;justify-content:space-between}.brand{text-decoration:none;font-weight:800;letter-spacing:-1.2px;color:#263657;display:inline-flex;align-items:center;gap:10px;font-size:1.7rem}.brand-heart{font-size:2rem;filter:drop-shadow(0 4px 8px #aedbfa88)}.accent{color:var(--pink)}.brand-tag{font-size:.85rem;color:#607391;font-weight:600}.top-link{text-decoration:none;padding:10px 16px;border:1px solid #eadde6;border-radius:30px;color:#6b5583;font-size:.86rem;background:#fff;font-weight:700}.top-link:hover{background:#f9eef6}.hero{position:relative;overflow:hidden;text-align:center;padding:47px 12px 43px}.eyebrow{font-size:.73rem;letter-spacing:.13em;font-weight:800;color:#c25489;margin:0 0 8px}.hero h1{margin:5px auto 12px;font-family:Georgia,serif;font-size:clamp(2.5rem,5vw,4.3rem);letter-spacing:-.055em;line-height:1.14;color:#2e3e63}.hero h1 em{font-style:italic;color:var(--pink)}.hero-sub{font-size:1.04rem;line-height:1.6;color:#63708b;max-width:590px;margin:0 auto}.hero-pills{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:23px}.hero-pills span{background:#fff;border:1px solid #f0e5eb;border-radius:50px;padding:8px 13px;color:#8b6a88;font-size:.77rem;font-weight:750;box-shadow:0 4px 10px #382a4405}.hero-orb{position:absolute;opacity:.42;font-size:4rem;user-select:none}.orb-one{top:16px;left:12%;color:#ffaecc;transform:rotate(-24deg)}.orb-two{bottom:0;right:13%;color:#b8caef;transform:rotate(15deg)}.studio-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:25px;padding-bottom:65px}.panel{background:#fff;border:1px solid #f1e9f0;border-radius:24px;padding:27px;box-shadow:var(--shadow)}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:15px}.panel-heading h2{margin:0;font-size:1.32rem;color:#2a3758;letter-spacing:-.03em}.panel-heading .eyebrow{margin-bottom:2px}.step-bubble{background:#e4f5ff;color:#3871ac;border-radius:13px;width:42px;height:42px;display:grid;place-items:center;font-size:.9rem;font-weight:800;flex:none}.step-bubble.rose{background:#ffe6f0;color:#ba286b}.muted{color:#6f7990;line-height:1.6}.intro-small{font-size:.89rem;margin:0 0 24px}.field-label{font-size:.86rem;line-height:1.4;font-weight:750;color:#374464;margin:16px 0 8px;display:flex;justify-content:space-between;align-items:center;gap:9px}.field-count{color:#b8839d;font-size:.75rem}.text-field,.select-field,input:not([type=checkbox]):not([type=file]):not([type=hidden]):not([type=color]):not([type=radio]),textarea,select{border:1.5px solid #e5e4ed;border-radius:12px;background:#fff;color:#263657;padding:12px 14px;outline:none;min-width:0;transition:border-color .15s,box-shadow .15s}.text-field:focus,.select-field:focus,input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#d987b7;box-shadow:0 0 0 3px #fae4ef}.big-field{width:100%;font-size:1.06rem;padding:15px 16px!important;background:#fefcff!important;border-color:#eccadf!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.select-field{width:100%;padding:12px 10px;font-size:.9rem}.pen-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0 6px}.pen-thumb{border:1.5px solid #eee5ef;background:#fff;display:flex;align-items:center;justify-content:center;flex-direction:column;border-radius:13px;min-height:82px;padding:8px 4px;color:#686d87;font-size:.72rem;font-weight:750;transition:all .15s}.pen-thumb img{height:44px;width:100%;object-fit:contain;transform:rotate(-3deg)}.pen-thumb.active{border-color:#db77aa;background:#fff1f7;box-shadow:0 0 0 2px #f6d8e8}.pen-thumb:hover{border-color:#d891ae}.rule{display:flex;align-items:center;gap:12px;margin:25px 0 5px;color:#b15583;font-size:.86rem;font-weight:800}.rule:after{content:'';flex:1;height:1px;background:#efdeeb}.color-field{border:1.5px solid #e5e4ed;border-radius:12px;height:46px;padding:5px 9px;display:flex;gap:9px;align-items:center;font-size:.85rem;color:#6d7390}.color-field input{border:0;background:transparent;width:46px;height:35px;cursor:pointer;padding:0}.buttons{display:flex;gap:9px;margin-top:24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none;border-radius:13px;border:1.5px solid transparent;padding:12px 17px;font-size:.91rem;font-weight:800;line-height:1.2;min-height:45px;text-align:center;transition:filter .15s,transform .15s,background .15s}.btn:hover:not(:disabled){filter:brightness(.985);transform:translateY(-1px)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.primary{color:#fff;background:linear-gradient(125deg,#e44b91,#bc2770);box-shadow:0 10px 24px #dd4c8d31}.btn.secondary{background:#f3f5fc;color:#4b587c;border-color:#e8eaf5}.btn.ghost{color:#5c6684;background:#fff;border-color:#e8e8f0}.btn.huge{flex:1;padding:16px 12px}.small-hint{font-size:.77rem;line-height:1.6;color:#8791a5;margin:14px 0 0}.preview-panel{position:sticky;top:17px}.preview-stage{background:repeating-conic-gradient(#fff 0 25%,#fbf5fa 0 50%) 50%/22px 22px;border:1px dashed #ead9e8;border-radius:18px;min-height:264px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:8px}.preview-stage canvas,.preview-stage img{display:block;width:100%;max-width:100%;height:auto;max-height:300px;object-fit:contain;position:relative;z-index:1}.preview-stage img[hidden]{display:none}.preview-decor{position:absolute;right:19px;top:14px;font-size:1.65rem;color:#efbfd6}.preview-hint{position:absolute;bottom:10px;font-size:.69rem;color:#ad89a3;z-index:2;pointer-events:none}.work-status{font-size:.82rem;color:#76819b;display:flex;gap:5px;align-items:center;margin:17px 0 9px;min-height:20px}.progress-wrap{display:flex;align-items:center;gap:10px;font-size:.75rem;color:#ad5388;font-weight:800;margin:12px 0}.progress-wrap[hidden]{display:none}.progress-track{height:9px;background:#f8e4ef;border-radius:9px;overflow:hidden;flex:1}.progress-track span{height:100%;width:0;display:block;border-radius:9px;background:linear-gradient(90deg,#96c2ec,#e75599);transition:width .15s}.download-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}.download-actions .btn{font-size:.77rem;padding:11px 10px;flex-grow:1}.download-actions a[hidden]{display:none}.tip-panel{display:flex;align-items:start;gap:13px;margin:16px 2px 0;padding:18px;border:1px solid #e7ebf3;border-radius:19px;background:#f2f7ff}.tip-icon{background:#e4edff;border-radius:14px;font-size:1.45rem;flex:none;padding:11px}.tip-panel strong{font-size:.85rem;color:#405982}.tip-panel p{margin:5px 0 0;color:#6d7992;font-size:.79rem;line-height:1.5}.why-panel{padding:18px 8px}.why-panel h3{font-size:.99rem;color:#4d5877;margin:0 0 15px}.benefits{display:flex;flex-direction:column;gap:12px}.benefits div{font-size:.86rem;color:#66728c;display:flex;gap:10px}.footer{background:#fff;border-top:1px solid #f3e9f0;text-align:center;padding:35px 0;color:#7d708b}.footer p{margin:0 0 10px;font-weight:800;font-size:.83rem}.footer-links{font-size:.76rem;font-weight:600!important;display:flex;gap:9px;justify-content:center;flex-wrap:wrap}.footer-links a{text-decoration:none}.footer small{font-size:.72rem;color:#a0a4b4}.pi-mark{position:fixed;bottom:7px;left:9px;z-index:10;opacity:.28;text-decoration:none;color:#476391;font-family:Georgia,serif;font-size:1rem;padding:6px;transition:opacity .15s}.pi-mark:hover{opacity:1}.admin-body{background:#f9faff}.admin-body .panel{max-width:none}.admin-body .brand{margin:10px 0}.admin-top h1{font-family:Georgia,serif;font-size:2.35rem;margin:5px 0}.admin-top p{margin-top:8px}.admin-body input[type=checkbox]{accent-color:#d84486}.link-danger{background:none;border:none;color:#ab3258;text-decoration:underline;font-size:.78rem;padding:10px 0 0}.delete-form{margin:0}
@media(max-width:860px){.studio-grid{grid-template-columns:1fr}.preview-panel{position:static}.hero{padding:34px 2px}.orb-one{left:0}.orb-two{right:0}.preview-stage{min-height:230px}}
@media(max-width:490px){.shell{padding:0 13px}.top-nav{height:64px}.brand{font-size:1.5rem}.brand-heart{font-size:1.7rem}.top-link{font-size:.75rem;padding:9px 11px}.hero h1{font-size:2.65rem}.hero-sub{font-size:.91rem}.hero-pills{gap:6px}.hero-pills span{font-size:.69rem;padding:7px 9px}.panel{padding:18px;border-radius:19px}.panel-heading h2{font-size:1.15rem}.form-row{gap:9px}.select-field{font-size:.78rem;padding:11px 6px}.pen-thumb{min-height:69px}.pen-thumb img{height:33px}.preview-stage{min-height:183px;padding:4px}.preview-hint{font-size:.64rem}.download-actions .btn{font-size:.72rem}.admin-wrap{padding:0 11px!important}.admin-body .input-row{grid-template-columns:1fr}.admin-body .asset-card{padding:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* v2.1 : un seul résultat visible, y compris sur Chrome Android. */
[hidden],canvas[hidden],img[hidden]{display:none!important}
.buttons{flex-wrap:wrap}
.buttons .huge{flex:1 1 100%}
.btn.magic{flex:1 1 auto;border:1px solid #c4acee;background:linear-gradient(115deg,#f9f1ff,#eaf3ff);color:#6037a5;font-weight:800;box-shadow:0 5px 20px #9878d222}
.btn.magic:hover{background:linear-gradient(115deg,#eee3ff,#e3f4ff)}
.pen-thumb{min-width:0;overflow:hidden}
.pen-thumb span{text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.magic-backdrop{position:fixed;inset:0;background:rgba(23,19,48,.69);z-index:1000;display:flex;justify-content:center;align-items:center;padding:18px;backdrop-filter:blur(8px)}
.magic-dialog{position:relative;max-width:650px;width:100%;background:#fff;border:2px solid #e7cfec;border-radius:28px;padding:28px 26px 22px;text-align:center;box-shadow:0 25px 90px #150d3569;max-height:94vh;overflow-y:auto}
.magic-dialog h2{color:#273861;margin:4px 0 10px;font-size:clamp(1.4rem,4vw,2rem)}
.magic-dialog .muted{margin:0 0 15px}
.magic-close{position:absolute;right:14px;top:14px;border:0;background:#f4edf5;color:#61375c;width:39px;height:39px;border-radius:50%;font-size:1.1rem;cursor:pointer}
.magic-preview{background:repeating-conic-gradient(#fff 0 25%,#f7f1f7 0 50%) 50%/22px 22px;border:1px dashed #dcc9e2;border-radius:19px;min-height:155px;display:flex;align-items:center;justify-content:center;padding:12px;overflow:hidden}
.magic-preview img{display:block;max-width:100%;width:100%;max-height:260px;height:auto;object-fit:contain}
.magic-preview p{color:#946f9f;font-size:.95rem;font-weight:700}
.magic-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.magic-actions .btn{flex:1 1 210px;text-align:center}
body.magic-open{overflow:hidden}
@media(max-width:540px){.magic-dialog{padding:26px 13px 18px;border-radius:22px}.magic-actions .btn{flex-basis:100%}.buttons .magic{font-size:.87rem}}

/* v2.2 — raccourci magique juste après le texte, puis personnalisation. */
.magic-shortcut{margin:15px 0 19px}
.magic-shortcut .magic-quick-btn{display:flex;width:100%;min-height:53px;font-size:.96rem;border-radius:15px}
.personalization-divider{display:flex;align-items:center;gap:11px;margin:20px 0 17px}
.personalization-divider:after{content:"";height:1px;flex:1;background:#eadde8}
.personalization-divider h3{margin:0;font-size:1rem;font-weight:800;color:#aa3c78;letter-spacing:-.015em}
#resultPanel{scroll-margin-top:13px}
@media(max-width:490px){.personalization-divider h3{font-size:.94rem}.magic-shortcut .magic-quick-btn{min-height:52px}}
