:root{--rose:#ffd6e7;--rose2:#ffb3d3;--violet:#b79bff;--creme:#fff7fb;--encre:#3d2b4f;--encre2:#7a6691;--carte:#ffffff;--radius:16px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;background:var(--creme);color:var(--encre);line-height:1.6}.site-header{background:linear-gradient(120deg,var(--rose),var(--violet))}.site-header .inner{max-width:1020px;margin:0 auto;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.logo{font-weight:800;font-size:1.15rem;color:var(--encre);text-decoration:none}.site-nav{display:flex;gap:14px;flex-wrap:wrap}.site-nav a{color:var(--encre);text-decoration:none;font-size:.88rem;font-weight:600;opacity:.85}.site-nav a:hover{opacity:1}.hero{background:linear-gradient(120deg,var(--rose),var(--violet));padding:34px 20px 44px;text-align:center}.hero h1{font-size:clamp(1.5rem,4.5vw,2.3rem);font-weight:800;max-width:760px;margin:0 auto 10px;color:var(--encre)}.hero .sous{max-width:600px;margin:0 auto;color:var(--encre);opacity:.8;font-size:1.02rem}.hero .picto-geant{font-size:clamp(2.4rem,7vw,3.4rem);line-height:1;margin-bottom:10px;filter:drop-shadow(0 4px 14px rgba(61,43,79,.25))}main.page{max-width:1020px;margin:0 auto;padding:28px 16px 60px}.prose h2{font-size:1.3rem;margin:26px 0 10px;color:var(--encre)}.prose p{color:var(--encre2);margin-bottom:12px;max-width:760px}.prose a{color:#9757d6}.grille-combos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:20px 0}.combo{background:var(--carte);border:2px solid #f3e3f2;border-radius:var(--radius);padding:18px 12px;text-align:center;font-size:1.15rem;cursor:pointer;transition:all .15s;word-break:break-word;line-height:1.9;position:relative;user-select:all}.combo:hover{border-color:var(--rose2);box-shadow:0 8px 24px #b79bff40;transform:translateY(-2px)}.combo:active{transform:scale(.97)}.combo.copie{border-color:#7ed9a7;background:#f2fcf6}.combo .toast{position:absolute;top:6px;right:10px;font-size:.68rem;font-weight:700;color:#2e9e64;opacity:0;transition:opacity .2s;font-family:inherit}.combo.copie .toast{opacity:1}.grille-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin:22px 0;list-style:none;padding:0}.grille-cats a{display:block;background:var(--carte);border:2px solid #f3e3f2;border-radius:var(--radius);padding:18px 12px;text-align:center;text-decoration:none;color:var(--encre);font-weight:700;transition:all .15s}.grille-cats a:hover{border-color:var(--rose2);box-shadow:0 8px 24px #b79bff38;transform:translateY(-2px)}.grille-cats .picto-l{display:block;font-size:1.9rem;margin-bottom:6px}.grille-cats .sous-l{display:block;font-size:.72rem;font-weight:400;color:var(--encre2);margin-top:4px}.ariane{font-size:.82rem;color:var(--encre2);margin-bottom:12px;display:flex;flex-wrap:wrap;gap:6px}.ariane a{color:#9757d6;text-decoration:none}.ariane .sep{color:var(--rose2)}.astuce{background:var(--carte);border-left:4px solid var(--violet);border-radius:10px;padding:14px 18px;margin:18px 0;max-width:760px}.astuce .t{font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#9757d6;margin-bottom:4px}.astuce p{margin:0;color:var(--encre2);font-size:.94rem}.pub{margin:28px 0;padding:22px;border:2px dashed #ecd8ee;border-radius:var(--radius);text-align:center;color:var(--encre2);font-size:.8rem}.maillage{margin-top:36px}.maillage h2{font-size:1.1rem;margin-bottom:10px}.maillage ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.maillage a{display:block;background:var(--carte);border-radius:12px;padding:12px 14px;color:var(--encre);text-decoration:none;font-size:.9rem;border:2px solid #f3e3f2}.maillage a:hover{border-color:var(--rose2)}.site-footer{background:var(--encre);color:#cbb8de;margin-top:44px;padding:28px 16px;font-size:.84rem}.site-footer .inner{max-width:1020px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.site-footer nav{display:flex;gap:14px;flex-wrap:wrap}.site-footer a{color:#e6d6f5;text-decoration:none}.site-footer .disclaimer{opacity:.7}.outil-zone{background:var(--carte);border:2px solid #f3e3f2;border-radius:var(--radius);padding:20px;margin:18px 0}.outil-zone label{display:block;font-weight:700;font-size:.85rem;margin:10px 0 4px}.outil-zone input[type=range]{width:100%}.outil-zone select,.outil-zone input[type=file]{width:100%;padding:9px;border:2px solid #f3e3f2;border-radius:10px;background:#fff;font-size:.95rem}.outil-zone .ligne{display:flex;gap:14px;flex-wrap:wrap}.outil-zone .ligne>div{flex:1;min-width:150px}.btn-rose{display:inline-block;margin-top:12px;padding:11px 20px;border:none;border-radius:12px;background:linear-gradient(120deg,var(--rose2),var(--violet));color:var(--encre);font-weight:800;font-size:.95rem;cursor:pointer}.btn-rose:hover{filter:brightness(1.05)}.btn-ghost{display:inline-block;margin-top:12px;margin-left:8px;padding:11px 20px;border:2px solid #f3e3f2;border-radius:12px;background:#fff;color:var(--encre);font-weight:700;font-size:.9rem;cursor:pointer}.sortie-art{background:#1d1430;color:#fff;border-radius:12px;padding:14px;margin-top:14px;font-family:ui-monospace,Menlo,monospace;font-size:.72rem;line-height:1.05;letter-spacing:.02em;white-space:pre;overflow-x:auto;max-height:420px;overflow-y:auto;user-select:all}.grille-dessin{display:grid;gap:1px;background:#e8d9ef;border:2px solid #f3e3f2;border-radius:8px;padding:2px;margin-top:12px;touch-action:none;width:max-content;max-width:100%;overflow-x:auto}.grille-dessin .px{width:14px;height:14px;background:#fff;border-radius:2px;cursor:crosshair}.grille-dessin .px.on{background:var(--encre)}.kao-preview{font-size:2.2rem;text-align:center;background:#fff;border:2px solid #f3e3f2;border-radius:12px;padding:26px 12px;margin:12px 0;user-select:all;word-break:break-all}.kao-parts{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.kao-parts button{padding:8px 12px;border:2px solid #f3e3f2;border-radius:10px;background:#fff;font-size:1.05rem;cursor:pointer}.kao-parts button.actif{border-color:var(--violet);background:#f6efff}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 22px}.chip{display:inline-block;padding:6px 14px;border-radius:999px;background:var(--rose);color:var(--encre);text-decoration:none;font-size:.9rem;font-weight:600;border:1px solid var(--rose2);transition:background .15s}.chip:hover{background:var(--rose2)}.badge-saison{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--violet);color:#fff;font-size:.82rem;font-weight:700;margin:0 0 6px}
