:root{--ink:#0d1b44;--slate:#5f6d83;--pink:#c6156a;--yellow:#ffbd59;--line:#e8e9f0;--bg:#fafbff;--white:#fff;--radius:19px;--shadow:0 20px 65px rgba(13,27,68,.08)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fff 0%,#fafbff 40%,#fff 100%);color:var(--ink);font:15px/1.52 Verdana,Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}a{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.site-shell{max-width:1260px;padding:0 38px;margin:auto;overflow:hidden}.site-header{height:93px;display:flex;align-items:center;justify-content:space-between;gap:18px}.home-link{text-decoration:none;color:var(--ink);font-size:18px;font-weight:800;letter-spacing:-.035em;display:inline-flex;align-items:center;gap:8px}.home-link span{font-size:26px}.header-right{display:flex;gap:14px;align-items:center}.label-head,.section-overline,.eyebrow{font-size:10px;font-weight:800;letter-spacing:.19em}.label-head{color:#8590a7}.status-dot{width:9px;height:9px;background:#e4bfc6;border-radius:50%}.status-dot.ready{background:#30b48b;box-shadow:0 0 0 4px #e1f7ef}.hero{position:relative;padding:56px 0 39px;min-height:328px}.eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--pink);letter-spacing:.17em;text-transform:uppercase}.eyebrow-icon{display:inline-grid;place-items:center;background:#fff0f7;border:1px solid #ffe0ed;border-radius:50%;width:28px;height:28px;font-size:18px}.hero h1{font:700 clamp(39px,5.8vw,73px)/1.10 Georgia,serif;letter-spacing:-.055em;margin:19px 0 20px;max-width:790px}.hero h1 em{font-style:italic;font-weight:400;color:var(--pink)}.hero p{font-size:16px;line-height:1.75;max-width:650px;color:var(--slate);margin:0}.hero-decoration{pointer-events:none;position:absolute;right:3%;top:65px;width:235px;height:200px;background:radial-gradient(circle at 50% 50%,#fff2f7 0%,#fff8fb 50%,transparent 73%);border-radius:50%}.hero-decoration span{position:absolute;font-size:37px;color:var(--pink);opacity:.55}.hero-decoration span:nth-child(1){left:27%;top:15%;font-size:57px}.hero-decoration span:nth-child(2){right:13%;top:40%;color:var(--yellow)}.hero-decoration span:nth-child(3){left:38%;bottom:8%;font-size:23px}.search-panel{padding:22px 25px 17px;background:#fff;border:1px solid #e8eaf2;box-shadow:var(--shadow);border-radius:24px;position:relative;z-index:1}.tabbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.type-tab{border:1px solid transparent;background:transparent;color:#64718c;font-weight:700;border-radius:12px;padding:11px 17px;transition:background .2s;font-size:13px}.type-tab:hover{background:#f6f5fa}.type-tab.active{color:var(--pink);background:#fff0f6;border-color:#ffe1ed}.search-line{display:flex;border:2px solid #ebedf4;align-items:center;min-height:68px;border-radius:17px;overflow:hidden;gap:0}.search-line:focus-within{border-color:#eed0df}.search-icon{font-size:33px;color:#9ca6b7;padding-left:18px;transform:rotate(-20deg)}.search-line input{flex:1;min-width:0;padding:18px 13px;border:0;background:transparent;outline:none!important;font-size:16px;color:var(--ink)}.search-line input::placeholder{color:#939db0}.primary-btn{background:var(--pink);color:white;font-weight:800;border:0;padding:16px 25px;margin-right:6px;border-radius:12px;transition:transform .2s,background .2s;white-space:nowrap}.primary-btn:hover{background:#a91057;transform:translateY(-1px)}.primary-btn span{margin-left:5px;font-size:19px}.filters{display:flex;gap:25px;flex-wrap:wrap;margin-top:18px;align-items:center}.filters label{display:flex;align-items:center;gap:10px;color:#7d8699;font-size:12px;font-weight:700}.filters select{max-width:210px;background:#f6f7fb;border:1px solid #eef0f5;border-radius:10px;min-height:36px;color:var(--ink);font-size:12px;padding:6px 30px 6px 11px;font-weight:700}.suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-top:20px;color:#8893a5;font-size:12px}.suggestions button{border:1px solid #eaedf2;background:#fff;color:#6b758d;padding:7px 11px;border-radius:100px;font-size:11px}.suggestions button:hover{border-color:var(--pink);color:var(--pink)}.closed-note{margin-top:30px;padding:23px;background:#fff8e9;border:1px solid #ffe9b9;border-radius:16px;display:flex;gap:19px;align-items:center}.closed-icon{font-size:42px;color:#bb7b0c}.closed-note h2{font-size:18px;margin:0 0 5px}.closed-note p{color:#857358;margin:0}.results{padding-top:65px;min-height:250px}.section-title{display:flex;justify-content:space-between;gap:12px;align-items:end}.section-overline{color:var(--pink);display:block;margin-bottom:9px}.section-title h2{font:700 29px/1.2 Georgia,serif;margin:0;letter-spacing:-.03em}.count{font-size:12px;color:#8791a3;white-space:nowrap}.results-status{font-size:13px;color:#8491a3;padding-top:19px}.notice{padding:13px 17px;background:#fff8e8;border-left:3px solid #e6ad45;color:#775b24;font-size:12px;border-radius:8px;margin-top:15px}.results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:21px;margin-top:24px}.result-card{min-width:0;background:#fff;border:1px solid #ebedf4;border-radius:17px;overflow:hidden;box-shadow:0 7px 23px rgba(13,27,68,.035);transition:transform .18s,box-shadow .18s}.result-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(13,27,68,.095)}.media-cover{border:0;padding:0;display:block;background:#f0f2f8;width:100%;height:195px;position:relative;overflow:hidden}.media-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}.result-card:hover .media-cover img{transform:scale(1.045)}.media-overlay{position:absolute;right:9px;top:9px;background:#fff;border-radius:8px;font-size:11px;font-weight:800;padding:6px 9px;color:#354768;box-shadow:0 2px 9px #0002}.audio-cover{height:195px;background:linear-gradient(140deg,#eef4fd,#fbecf4);display:grid;place-items:center;font-size:64px;color:var(--pink)}.card-body{padding:15px 14px 13px}.card-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.provider-name{text-transform:uppercase;font-size:10px;letter-spacing:.09em;font-weight:800;color:var(--pink)}.dimension{font-size:10px;color:#8f96a5}.card-title{font-weight:700;font-size:12px;margin:9px 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-credit{font-size:11px;color:#808c9f;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-actions{display:flex;gap:8px;margin-top:13px}.card-actions button,.card-actions a{flex:1;border-radius:9px;padding:9px 8px;font-size:11px;text-align:center;text-decoration:none;font-weight:800;border:1px solid #e7e9f1;background:white;color:var(--ink)}.card-actions button{background:#fcecf4;border-color:#fbe3ed;color:#ac1a60}.card-actions button:hover,.card-actions a:hover{filter:brightness(.96)}.more-row{display:flex;justify-content:center;margin:36px 0}.secondary-btn{background:white;color:var(--pink);border:1px solid #eac8d7;font-weight:800;padding:14px 22px;border-radius:12px}.secondary-btn:hover{background:#fff2f8}.trust-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:31px 0 37px;border-top:1px solid var(--line);margin-top:63px}.trust-strip>div{display:flex;gap:13px}.trust-icon{display:inline-grid;place-items:center;background:#fff0f7;color:var(--pink);width:43px;height:43px;flex:0 0 43px;border-radius:13px;font-size:22px}.trust-strip b,.trust-strip small{display:block}.trust-strip b{font-size:12px}.trust-strip small{font-size:11px;color:#8a94a4;margin-top:3px;line-height:1.6}.footer{padding:29px 0 82px;border-top:1px solid #e9ecf2;display:flex;flex-direction:column;gap:10px;font-size:11px;color:#8290a5}.footer>a{font-weight:800;font-size:14px;text-decoration:none;color:var(--ink)}.provider-links{display:flex;gap:17px;flex-wrap:wrap;margin-top:6px}.provider-links a{color:#566e94}.pi-admin{position:fixed;left:14px;bottom:12px;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;color:#8d95a5;border:1px solid #dfe4ee;box-shadow:0 2px 12px #00000010;background:white;z-index:15;font-family:Georgia,serif;font-size:22px;line-height:1}.pi-admin:hover{background:var(--ink);color:white}.admin-dialog,.preview-dialog{width:min(690px,calc(100vw - 25px));max-height:min(93dvh,940px);border:1px solid #dfe2ed;border-radius:22px;padding:25px 27px;color:var(--ink);background:#fff;box-shadow:0 28px 100px #071b4870;overflow:auto}.preview-dialog{width:min(740px,calc(100vw - 25px))}.admin-dialog::backdrop,.preview-dialog::backdrop{background:#0913309c;backdrop-filter:blur(5px)}.modal-top{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:18px}.modal-top h2{font:700 25px Georgia,serif;margin:0}.icon-close{font-size:28px;line-height:1;background:#f1f3f7;border:0;border-radius:10px;color:#586578;width:38px;height:38px;flex:0 0 38px}.admin-form{display:grid;gap:15px}.admin-form>p{margin:0 0 3px;color:var(--slate);font-size:13px}.field{display:grid;gap:6px;font-size:12px;color:var(--slate);font-weight:700}.field input{min-height:46px;border:1px solid #dfe3ed;border-radius:11px;padding:10px 13px;color:var(--ink)}.field-help{font-size:11px;color:#7e8a9d}.form-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:5px;align-items:center}.button-link{background:transparent;border:0;text-decoration:underline;color:#73809c;font-size:11px}.admin-nav{display:flex;gap:8px;margin:5px 0 24px}.admin-nav button{font-size:12px;border:1px solid #e5e7ef;background:#f5f6fa;padding:10px 13px;border-radius:10px;color:var(--ink);font-weight:700}.admin-nav button.active{background:#fff0f6;border-color:#fbd5e7;color:var(--pink)}.admin-card{border:1px solid #e6e9f1;border-radius:15px;padding:16px;margin:13px 0;background:#fdfdff}.admin-card h3{font-size:15px;margin:0 0 10px}.admin-card p{margin:0 0 12px;font-size:12px;color:var(--slate)}.admin-key-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-key-row .field{flex:1}.status-label{font-size:11px;border-radius:100px;padding:5px 9px;background:#f5e4e9;color:#ae4163;font-weight:700}.status-label.good{background:#e4f8f0;color:#1c966f}.toggle-line{display:flex;align-items:center;gap:9px;margin:11px 0;color:#52637d;font-size:13px}.toggle-line input{width:17px;height:17px;accent-color:var(--pink)}.admin-note{background:#fffbf2;border:1px solid #f9e8be;padding:13px;border-radius:11px;color:#80632e;font-size:12px;margin:14px 0}.admin-note p{margin:0}.admin-messages{padding:12px 15px;background:#f0f8f3;border-radius:10px;font-size:12px;color:#306249;margin:12px 0}.library-list{display:grid;gap:12px}.lib-item{border:1px solid #e8ebf1;border-radius:13px;padding:10px;display:flex;gap:12px;align-items:start}.lib-item img{width:116px;height:88px;border-radius:9px;object-fit:cover;background:#f3f3f3}.lib-item-info{min-width:0;flex:1}.lib-item-info b{font-size:12px;display:block;overflow-wrap:anywhere}.lib-item-info small{font-size:11px;color:#7b8797}.lib-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.lib-actions button{border:1px solid #dee3ed;border-radius:8px;background:#fff;color:var(--ink);font-size:11px;padding:7px 9px}.lib-actions button.danger{color:#b52c56}.preview-media{width:100%;max-height:390px;object-fit:contain;background:#eef1f6;border-radius:13px}.preview-media.audio{height:95px}.preview-audio-icon{background:#f8edf4;color:var(--pink);text-align:center;font-size:48px;padding:33px;border-radius:13px}.preview-info{padding-top:17px}.preview-info h3{margin:0 0 9px;font:700 23px Georgia,serif}.preview-info p{font-size:13px;color:#62728a;margin:8px 0;overflow-wrap:anywhere}.preview-info a{color:#a91057}.preview-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:17px}.preview-actions button,.preview-actions a{display:inline-block;border:1px solid #e1e5ed;border-radius:10px;padding:11px 15px;background:#fff;text-decoration:none;font-weight:700;font-size:12px}.preview-actions button:first-child{background:var(--pink);color:#fff;border-color:var(--pink)}.toast{position:fixed;bottom:25px;right:22px;z-index:45;max-width:420px;padding:12px 18px;color:white;background:var(--ink);border-radius:12px;font-size:12px;box-shadow:0 15px 45px #0004;opacity:0;transform:translateY(20px);pointer-events:none;transition:all .22s}.toast.shown{opacity:1;transform:none}@media(max-width:1050px){.results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-decoration{opacity:.4}}@media(max-width:740px){.site-shell{padding:0 17px}.site-header{height:73px}.hero{min-height:auto;padding:35px 0 29px}.hero h1{font-size:clamp(39px,8vw,56px)}.hero p{font-size:13px}.hero-decoration{right:-70px;top:36px;opacity:.2}.search-panel{padding:14px 13px;border-radius:18px}.tabbar{margin-bottom:13px}.type-tab{padding:9px 12px}.search-line{min-height:55px}.search-line input{padding:13px 8px;font-size:13px}.search-icon{font-size:24px;padding-left:11px}.primary-btn{padding:12px 10px;font-size:12px;margin-right:4px}.filters{gap:10px}.filters label{flex:1;min-width:calc(50% - 10px);display:grid;gap:5px}.filters select{width:100%;max-width:none}.results{padding-top:43px}.section-title h2{font-size:24px}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.media-cover,.audio-cover{height:155px}.card-body{padding:11px}.card-actions{gap:5px;flex-wrap:wrap}.card-actions button,.card-actions a{padding:8px 4px}.trust-strip{grid-template-columns:1fr;gap:20px;margin-top:37px}.admin-dialog,.preview-dialog{padding:16px 15px}.lib-item img{width:83px;height:78px}}@media(max-width:380px){.label-head{display:none}.results-grid{grid-template-columns:1fr}.media-cover,.audio-cover{height:230px}.search-line input{font-size:12px}.card-actions button,.card-actions a{font-size:12px}}

/* Mise à jour 1.1 — téléchargement en surimpression */
.media-frame{position:relative;isolation:isolate;min-width:0}
.media-frame .media-cover{display:block;width:100%;border-radius:0}
.download-btn{position:absolute;right:12px;bottom:12px;z-index:2;display:grid;place-items:center;width:43px;height:43px;padding:0;border:1px solid #e3e7f2;border-radius:12px;background:rgba(255,255,255,.96);color:#0d1b44;box-shadow:0 3px 16px rgba(8,24,55,.25);text-decoration:none;backdrop-filter:blur(5px);transition:transform .2s,background .2s}
.download-btn svg{width:23px;height:23px;stroke:currentColor;flex:none}
.download-btn:hover,.download-btn:focus-visible{transform:translateY(-2px);background:#fff}
.download-btn.is-downloading{opacity:.65;cursor:wait;pointer-events:none}
@media(max-width:600px){.download-btn{right:9px;bottom:9px;width:41px;height:41px;border-radius:11px}}
/* Fenêtre légère affichée pendant chaque recherche, aussi sur mobile */
.search-wait{position:fixed;inset:0;z-index:350;display:grid;place-items:center;padding:22px;background:rgba(13,27,68,.16);backdrop-filter:blur(3px)}
.wait-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(340px,100%);min-height:246px;padding:28px 22px;border:1px solid #e4e8f3;border-radius:25px;background:#fff;box-shadow:0 22px 90px rgba(13,27,68,.2);text-align:center;gap:10px}
.wait-dove{display:grid;place-items:center;width:94px;height:90px;animation:colombes-flight 2.2s ease-in-out infinite}
.dove-fallback{display:inline-block;font-family:'Noto Color Emoji','Segoe UI Emoji',sans-serif;font-size:68px;line-height:1.1}
.noto-dove{display:block;width:80px;height:80px;object-fit:contain}
.wait-card strong{font:bold 16px/1.45 Verdana,Arial,sans-serif;color:#0d1b44}
.wait-subtitle{font-size:12px;color:#7b8496}
.wait-dots{display:flex;gap:6px;margin-top:5px}
.wait-dots i{height:7px;width:7px;border-radius:50%;background:#c6156a;animation:colombes-dots 1.15s ease-in-out infinite}
.wait-dots i:nth-child(2){animation-delay:.15s}.wait-dots i:nth-child(3){animation-delay:.3s}
@keyframes colombes-flight{0%,100%{transform:translateY(4px) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}
@keyframes colombes-dots{0%,65%,100%{opacity:.35;transform:scale(.7)}30%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.wait-dove,.wait-dots i{animation:none}}

/* v1.2: choix simple, recherche coloriages et liens externes */
.media-mode{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:17px;color:#748096;font-size:12px}
.mode-chip{padding:9px 13px;border-radius:100px;background:#fff;color:#475771;border:1px solid #e6e9f0;font-size:12px;font-weight:700}
.mode-chip.active{background:#fff0f6;color:#a80b58;border-color:#f4c1d6}
.mode-hint{font-size:12px;color:#8b4670;margin:9px 0 0}
.custom-links{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:center;margin:0 auto 30px}
.custom-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:11px;padding:10px 16px;border:1px solid #d9e3ee;text-decoration:none;color:#0d1b44;background:#f7f9fe;font-size:12px;font-weight:700;overflow-wrap:anywhere}
.custom-links a:hover{border-color:#c6156a;color:#c6156a}
.coloring-action{background:#c6156a!important;color:#fff!important;border:1px solid #c6156a!important;display:inline-flex!important;gap:9px;align-items:center;justify-content:center;padding:13px 17px!important;min-height:52px;font-size:14px!important}
.coloring-action img{width:25px;height:25px;filter:brightness(0) invert(1)}
.color-import-btn{background:#c6156a!important;color:#fff!important;border-color:#c6156a!important}
.color-import-btn img{width:25px;height:25px;filter:brightness(0) invert(1)}
.color-import-btn:hover{background:#ab0e56!important}
.color-import-btn svg{display:none}
.wait-dove picture{display:grid;place-items:center;width:95px;height:94px}
.noto-dove{width:95px;height:95px;object-fit:contain}
.custom-editor-grid{display:grid;gap:10px}
.custom-btn-editor{display:grid;grid-template-columns:minmax(110px,1fr) minmax(170px,2fr);gap:8px;margin:6px 0}
.custom-btn-editor input{width:100%;min-width:0;padding:10px;border:1px solid #d9dfe9;border-radius:9px;font-size:12px}
@media(max-width:620px){.mode-chip{padding:9px 10px;font-size:11px}.custom-btn-editor{grid-template-columns:1fr}}

.return-to-coloring{display:inline-flex;padding:9px 13px;margin-top:14px;border-radius:10px;background:#f1f6fa;color:#0d1b44;text-decoration:none;font-size:12px;font-weight:700}
.return-to-coloring:hover{background:#e7eff7}

/* Correctif v1.3 : GIF Noto véritablement multiframe, y compris logo et pied de page. */
.search-wait[hidden]{display:none!important}
.brand-dove,.footer-dove{display:inline-block;object-fit:contain;vertical-align:middle;flex-shrink:0}
.home-link{display:inline-flex;align-items:center;gap:5px}
.footer a:has(.footer-dove){display:inline-flex;gap:4px;align-items:center}
.wait-dove{width:116px;height:116px;animation:none}
.wait-dove .noto-dove{display:block;width:110px;height:110px;object-fit:contain;image-rendering:auto}


/* v1.4 - Animations OFFICIELLES de Google Noto Emoji : GIF/WebP Google,
   aucune reproduction manuelle ni mouvement CSS simulé. */
.noto-official{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;line-height:0;vertical-align:middle}
.noto-official img{display:block;width:100%;height:100%;object-fit:contain;image-rendering:auto}
.brand-noto-picture{width:30px;height:30px}
.footer-noto-picture{width:25px;height:25px}
.wait-noto-picture{width:110px;height:110px}
.wait-dove{width:116px;height:116px;animation:none}
.wait-dove .wait-noto-picture{display:inline-flex}
.wait-dove .wait-noto-picture img{width:110px;height:110px}
/* La source animée officielle contient le mouvement; ne pas l'animer en CSS. */

/* v1.5 — lien Image magique et envoi sélectif des photos (jamais en mode coloriage) */
.magic-shortcut{width:43px;height:43px;display:inline-flex;align-items:center;justify-content:center;background:#fff0f7;border:1px solid #f2cade;border-radius:12px;color:var(--pink);text-decoration:none;flex:0 0 43px;transition:background .15s}
.magic-shortcut:hover{background:#fce0ef}.magic-shortcut svg{width:24px;height:24px}
.media-frame{position:relative}
.magic-media-mini{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #f4e0f6;border-radius:12px;background:#fff;color:#8948b5;box-shadow:0 2px 10px #06172a38;z-index:3}
.magic-media-mini svg{width:24px;height:24px}.magic-media-mini:hover{background:#f9edff}
.preview-actions .magic-media-large{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(105deg,#8549b9,#c6156a);color:white;border:0;border-radius:12px;padding:13px 16px;font-weight:800;text-decoration:none}
.magic-media-large svg{width:22px;height:22px;flex:0 0 22px}
@media(max-width:540px){.header-right{gap:9px}.magic-shortcut{width:40px;height:40px;flex-basis:40px}.label-head{display:none}}
