*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{color:#111;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;overscroll-behavior:none;background:#fafafa;margin:0;padding:.5rem 1.5rem 1.5rem;font-family:system-ui,-apple-system,sans-serif;line-height:1.5}input,textarea,.color-name,.section-hint,.subtitle,.explainer-body{-webkit-user-select:text;user-select:text}input[type=text],input[type=number],input[type=url],input[type=email],input[type=search],textarea,select{font-size:16px}header{flex-direction:row;align-items:center;gap:.75rem;max-width:1200px;margin:0 auto .5rem;display:flex}.header-brand{color:inherit;flex-direction:row;flex:none;align-items:center;gap:.4rem;min-width:0;text-decoration:none;display:flex}.header-banner{flex:none;line-height:0;display:block}.header-banner img{object-fit:contain;width:clamp(160px,28vw,320px);height:auto;max-height:90px;display:block}.header-brand h1{margin:0;font-size:1.5rem}.site-nav{flex:none;margin-left:auto}.site-nav ul{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{color:#334155;border-radius:8px;padding:.4rem .9rem;font-size:.95rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-block}.site-nav a:hover{color:#06c;background:#f0f6ff}.site-nav a[aria-current=page]{color:#fff;background:#149414}.nav-burger{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;margin-left:auto;padding:0;display:none}.nav-burger span{background:#334155;border-radius:2px;width:22px;height:2px;transition:transform .2s,opacity .2s;display:block}header[data-menu-open=true] .nav-burger span:first-child{transform:translateY(7px)rotate(45deg)}header[data-menu-open=true] .nav-burger span:nth-child(2){opacity:0}header[data-menu-open=true] .nav-burger span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=560px){.header-banner img{max-height:70px}.header-brand h1{font-size:1.35rem}.nav-burger{display:flex}.site-nav{z-index:50;background:#fff;border:1px solid #cfd9e4;border-radius:10px;margin:0;padding:.5rem;display:none;position:absolute;top:100%;left:1rem;right:1rem;box-shadow:0 10px 30px #0000001f}header{position:relative}header[data-menu-open=true] .site-nav{display:block}.site-nav ul{flex-direction:column;gap:.15rem}.site-nav a{padding:.6rem .9rem;display:block}}.page{display:none}main[data-page-active=outil] .page[data-page=outil],main[data-page-active=preglages] .page[data-page=preglages],main[data-page-active=galerie] .page[data-page=galerie],main[data-page-active=apropos] .page[data-page=apropos]{display:block}.preglages{max-width:900px;margin:0 auto;padding:1rem 1.25rem 2rem}.page[data-page=apropos]{flex-direction:column;gap:1.25rem;max-width:900px;margin:0 auto;padding:0 .25rem;display:none}main[data-page-active=apropos] .page[data-page=apropos]{display:flex}.preglages h2{margin:0 0 .5rem;font-size:1.25rem}.preglages-intro{color:#555;margin:0 0 1.5rem;font-size:.9rem}.preglages-picker{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.preglages-picker label{color:#334155;font-size:.9rem;font-weight:500}.preglages-picker select{background:#fff;border:1px solid #cfd9e4;border-radius:6px;flex:auto;padding:.4rem .6rem;font-family:inherit}.preglages-intro-layout{grid-template-columns:1fr;align-items:center;gap:1.25rem;margin-bottom:1.5rem;display:grid}@media (width>=720px){.preglages-intro-layout{grid-template-columns:1fr auto;gap:2rem}}.preglages-description{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:1rem 1.25rem}.preglages-description-title{color:#111;margin:0 0 .5rem;font-size:1rem;font-weight:600}.preglages-description p{color:#334155;margin:.4rem 0;font-size:.9rem;line-height:1.45}.preglages-description p:last-child{margin-bottom:0}.preglages-description strong{color:#111}.preglages-wheel-wrap{justify-content:center;display:flex}.preglages-wheel{width:240px;height:240px;position:relative}.preglages-wheel-disk{background:conic-gradient(red,#ff2b00,#f50,#ff8000,#fa0,#ffd500,#ff0,#d4ff00,#af0,#80ff00,#5f0,#2bff00,#0f0,#00ff2a,#0f5,#00ff80,#0fa,#00ffd4,#0ff,#00d4ff,#0af,#0080ff,#05f,#002aff,#00f,#2a00ff,#50f,#8000ff,#a0f,#d500ff,#f0f,#ff00d5,#f0a,#ff0080,#f05,#ff002b,red);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 31.9%,#000 32% 100%);mask:radial-gradient(circle,#0000 31.9%,#000 32% 100%)}.preglages-wheel-overlay{pointer-events:none;width:calc(100% + 50px);height:calc(100% + 50px);position:absolute;top:-25px;left:-25px}.preglages-swatches{flex-direction:column;gap:.5rem;display:flex}.preglages-row{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:.6rem .9rem;display:grid}.preglages-pair{align-items:center;gap:.75rem;min-width:0;display:flex}.preglages-swatch{border:1px solid #00000026;border-radius:8px;flex:none;width:44px;height:44px;display:inline-block;box-shadow:inset 0 0 0 1px #fff6}.preglages-label{flex-direction:column;gap:.1rem;min-width:0;display:flex}.preglages-name{color:#1f2937;text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:500;overflow:hidden}.preglages-name-muted{color:#94a3b8;font-style:italic;font-weight:400}.preglages-range{color:#94a3b8;font-variant-numeric:tabular-nums;font-size:.75rem}.preglages-arrow{color:#94a3b8;text-align:center;font-size:1.2rem}.gallery{max-width:1200px;margin:0 auto;padding:1rem 1.25rem 2rem}.gallery h2{margin:0 0 .25rem;font-size:1.25rem}.gallery-intro{color:#555;margin:0 0 1.25rem;font-size:.9rem}.sample-gallery-large{gap:12px}.sample-gallery-large .sample-thumb{border-radius:10px;width:140px;height:140px}.explainer{padding:1rem 1.25rem 1.1rem}.explainer h2{color:#111;margin:0 0 .35rem;font-size:1rem;font-weight:600}.explainer-backronym-panel{padding:1.25rem 1.25rem 1.1rem}.explainer-backronym{flex-direction:column;align-items:center;gap:.75rem;margin:0;display:flex}.explainer-backronym picture,.explainer-backronym img{border-radius:6px;width:min(100%,520px);max-width:100%;height:auto;display:block}.explainer-backronym figcaption{text-align:center;color:#555;max-width:75ch;font-size:.85rem;font-style:italic}.explainer-backronym figcaption em{color:#149414;font-style:normal;font-weight:700}.explainer-body{color:#333;flex-direction:column;gap:1.25rem;font-size:.9rem;display:flex}.explainer-row{grid-template-columns:96px 1fr;align-items:center;gap:1rem;display:grid}.explainer-figure{grid-column:1;line-height:0;display:block}.explainer-figure img{width:96px;height:auto;display:block}.explainer-text{border-left:3px solid #0000;grid-column:2;max-width:75ch;padding-left:1rem}.explainer-row[data-dalton=joe] .explainer-text{border-left-color:#007fff}.explainer-row[data-dalton=william] .explainer-text{border-left-color:#e21313}.explainer-row[data-dalton=jack] .explainer-text{border-left-color:#149414}.explainer-row[data-dalton=averell] .explainer-text{border-left-color:gold}.explainer-text h3{color:#111;margin:0 0 .35rem;font-size:.95rem;font-weight:600}.explainer-text p{margin:.35rem 0}.explainer-text p:first-of-type{margin-top:0}.explainer-text p:last-child{margin-bottom:0}.explainer-list{margin:.35rem 0 0;padding-left:1.25rem}.explainer-list li{margin:.2rem 0}.explainer-illustration{margin:.75rem 0 0}.explainer-illustration>summary{cursor:pointer;color:#444;background:#00000009;border-radius:6px;padding:.4rem .6rem;font-size:.88rem;list-style:none}.explainer-illustration>summary::marker{display:none}.explainer-illustration>summary::-webkit-details-marker{display:none}.explainer-illustration>summary:before{content:"▸";margin-right:.4rem;transition:transform .15s;display:inline-block}.explainer-illustration[open]>summary:before{transform:rotate(90deg)}.explainer-illustration>summary:hover{background:#0000000f}.explainer-illustration figure{margin:.6rem 0 0}.explainer-illustration img{border:1px solid #00000014;border-radius:6px;width:100%;height:auto;display:block}.explainer-illustration figcaption{color:#555;margin-top:.4rem;font-size:.82rem;line-height:1.4}@media (width<=540px){.explainer-row{display:block;position:relative}.explainer-figure{float:left;shape-outside:margin-box;margin:0 .75rem .25rem 0}.explainer-figure img{width:88px}.explainer-text{border-left-width:3px;max-width:none;padding-left:.75rem}.explainer-text h3{font-size:1rem}.explainer-row:after{content:"";clear:both;display:block}}button,.btn{color:#fff;cursor:pointer;background:#06c;border:none;border-radius:6px;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;line-height:1.2;transition:background .15s}button:hover,.btn:hover{background:#05a}button:active,.btn:active{background:#048}button:focus-visible,.btn:focus-visible{outline-offset:2px;outline:2px solid #4a9eff}button:disabled,.btn:disabled{opacity:.4;cursor:not-allowed}button:disabled:hover,.btn:disabled:hover{background:#06c}.btn-secondary:disabled:hover{background:#fff}.btn-block{width:100%;display:block}.btn-secondary{color:#06c;background:#fff;border:1px solid #cfd9e4}.btn-secondary:hover{background:#f0f6ff}.btn-secondary:active{background:#e0ecff}.btn-secondary.active{color:#fff;background:#06c;border-color:#06c}.btn-share{color:#fff;background:#149414;border:none}.btn-share:hover{background:#107a10}.btn-share:active{background:#0d620d}.compare.picking,.compare.picking canvas{cursor:crosshair!important}.modal{z-index:2000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal[hidden]{display:none}.modal-backdrop{background:#0006;position:absolute;inset:0}.modal-body{background:#fff;border-radius:12px;width:calc(100% - 2rem);max-width:460px;padding:1.25rem 1.5rem;position:relative;box-shadow:0 20px 40px #00000040}.modal-body h3{margin:0 0 .5rem;font-size:1.05rem}.modal-body p{color:#333;margin:0 0 1rem;font-size:.9rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.modal-actions button{flex:0 auto}main{flex-direction:column;gap:1.25rem;max-width:1600px;margin:0 auto;display:flex}header{max-width:1600px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 2px #0000000a}.compare[data-empty=true]{cursor:pointer;background:#fafafa;border:2px dashed #bbb;transition:background .15s,border-color .15s}.compare[data-empty=true]:before{content:"Déposer une image ici";color:#999;pointer-events:none;justify-content:center;align-items:center;font-size:1rem;display:flex;position:absolute;inset:0}.compare[data-empty=true] canvas,.compare[data-empty=true] .compare-canvas-wrap{display:none}.compare.dragover{background:#eef6ff;border-color:#4a9eff}.filebtn{color:#06c;cursor:pointer;text-decoration:underline}.workspace{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;gap:1rem;display:grid}.workspace-preview{flex-direction:column;gap:.75rem;min-width:0;display:flex}.preview-toolbar{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.toolbar-sep{background:#cfd9e4;align-self:stretch;width:1px;margin:4px 2px}.btn-icon{color:#334155;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background .15s,border-color .15s,color .15s,opacity .15s;display:inline-flex}.btn-icon svg{width:26px;height:26px;display:block}.btn-icon:hover{background:#f0f6ff}.btn-icon:active{background:#e0ecff}.btn-icon:focus-visible{outline-offset:2px;outline:2px solid #4a9eff}.btn-icon:disabled,.btn-icon[aria-disabled=true]{opacity:.35;cursor:not-allowed;background:0 0}.btn-icon-share{color:#149414}.btn-icon-share:hover{background:#e8f5e8}.btn-icon-share:active{background:#d4ebd4}@media (width>=768px){.btn-icon{width:36px;height:36px}.btn-icon svg{width:22px;height:22px}}.workspace-sidebar{flex-direction:column;padding:0;transition:opacity .15s,transform .2s;display:flex;position:sticky;top:1rem}.sidebar-body{flex-direction:column;gap:.85rem;padding:1rem 1.1rem 1.1rem;display:flex}.control-row{flex-direction:column;align-items:stretch;gap:.35rem;margin:0;display:flex}.control-row label{color:#374151;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:500;display:flex}.control-row input[type=range]{accent-color:#06c;width:100%}.control-row select{color:#111;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.45rem .6rem;font-family:inherit;font-size:.85rem}.control-row select:focus-visible{outline-offset:1px;border-color:#06c;outline:2px solid #4a9eff}.control-row output{color:#06c;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.control-row.sidebar-actions{border-top:1px solid #eef0f3;flex-direction:row;gap:.5rem;margin-top:.5rem;padding-top:.85rem}.control-row.sidebar-actions button{flex:1}.sidebar-body h4{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:.35rem 0 -.25rem;font-size:.78rem;font-weight:600}.section-hint{color:#888;margin:.1rem 0 -.1rem;font-size:.72rem;font-style:italic}@media (width<=800px){.workspace{grid-template-columns:1fr}.workspace-sidebar{max-height:none;position:static}body{padding:.25rem .5rem 1rem}.panel{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.compare{aspect-ratio:1;flex:none;min-height:0}.hide-on-mobile{display:none}}#palette{flex-direction:column;gap:.4rem;margin:0;display:flex}.palette-row{align-items:center;gap:.35rem;font-size:.85rem;display:flex}.palette-row .color-block{flex:1;align-items:center;gap:.3rem;min-width:0;display:flex}.palette-row .color-name{color:#333;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.78rem;overflow:hidden}.palette-row .arrow{color:#888;flex:none}.swatch{border:1px solid #333;border-radius:4px;flex:0 0 28px;width:28px;min-width:28px;height:28px;display:inline-block}.palette-row .target-swatch{cursor:pointer;width:28px;min-width:28px;height:28px;box-shadow:none;background:0 0;border:1px solid #333;border-radius:4px;flex:0 0 28px;padding:0}.palette-row .target-swatch:hover{box-shadow:0 0 0 2px #4a9eff40}.hidden-picker{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.target-popover{z-index:1500;background:#fff;border:1px solid #d1d5db;border-radius:8px;flex-direction:column;gap:.5rem;padding:.65rem;display:flex;position:fixed;box-shadow:0 10px 24px #0000002e}.target-group-header{flex-direction:column;gap:1px;margin-top:.25rem;display:flex}.target-group-header:first-child{margin-top:0}.target-group-title{color:#374151;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.target-group-hint{color:#9ca3af;font-size:.68rem;font-style:italic}.target-grid{grid-template-columns:repeat(4,72px);gap:8px;margin-bottom:.25rem;display:grid}.target-grid-cell{color:#333;cursor:pointer;box-shadow:none;text-align:center;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:1px;padding:3px 0 4px;font-size:.7rem;font-weight:400;line-height:1.25;display:flex}.target-grid-cell:hover{background:#f0f6ff;border-color:#06c}.target-grid-swatch{border:1px solid #333;border-radius:4px;width:34px;height:34px;display:block}.target-grid-label{text-overflow:ellipsis;white-space:nowrap;width:78px;margin:0 -3px;display:block;overflow:hidden}.target-other-btn{width:100%;padding:.35rem .5rem;font-size:.75rem}.palette-row .remove-btn,.palette-row .link-btn{color:#888;width:22px;height:22px;box-shadow:none;background:0 0;border:none;border-radius:50%;flex:0 0 22px;justify-content:center;align-items:center;padding:0;font-size:.8rem;line-height:1;display:flex}.palette-row .remove-btn{margin-left:auto;font-size:1rem}.palette-row .link-btn{margin-left:0}.palette-row .remove-btn:hover{color:#c33;background:#fee}.palette-row .link-btn{filter:grayscale()opacity(.45);transition:background .15s,filter .15s}.palette-row .link-btn:hover,.palette-row .link-btn.linked{filter:grayscale(0)opacity();background:#e6f0ff}.palette-row .link-btn.linked:hover{background:#d0e4ff}.palette-row .link-btn.active{filter:grayscale(0)opacity();background:#06c;box-shadow:0 0 0 2px #06c}.palette-row .pattern-btn{cursor:pointer;width:22px;height:22px;box-shadow:none;background:#fff;border:1px dashed #aaa;border-radius:4px;flex:0 0 22px;padding:0}.palette-row .pattern-btn.has-pattern{border:1px solid #333}.palette-row .pattern-btn:hover{outline:2px solid #06c}.pattern-grid{grid-template-columns:repeat(2,72px);gap:8px;display:grid}.pattern-cell{color:#333;cursor:pointer;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:3px;padding:3px 0 4px;font-size:.7rem;font-weight:400;line-height:1.25;display:flex}.pattern-cell:hover{background:#f0f6ff;border-color:#06c}.pattern-swatch{background-color:#fff;border:1px solid #333;border-radius:3px;width:40px;height:32px;display:block}.pattern-label{text-overflow:ellipsis;white-space:nowrap;max-width:70px;display:block;overflow:hidden}.control-checkbox{color:#334155;cursor:pointer;border-top:1px solid #e2e8f0;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.75rem;font-size:.85rem;display:flex}.control-checkbox input{cursor:pointer}.palette-row.linked{position:relative}.palette-row.linked:before{content:"";background:var(--group-color,#06c);border-radius:2px;width:3px;position:absolute;top:0;bottom:0;left:-8px}.palette-row.linked.linked-top:before{top:-.2rem}.palette-row.linked.linked-bottom:before{bottom:-.2rem}.palette-row.user-modified .target-swatch{border-width:2px;border-color:#06c}.palette-row.link-source{background:#e6f0ff;border-radius:4px}.palette-row.link-target{cursor:copy}.palette-row.link-target:hover{outline-offset:-2px;background:#f5faff;border-radius:4px;outline:2px dashed #06c}.palette-actions{gap:.4rem;margin-top:.5rem;display:flex}.palette-actions button{flex:1;padding:.4rem .5rem;font-size:.78rem}#palette:empty:before{content:"Aucune substitution définie.";color:#999;padding:.5rem 0;font-size:.8rem;font-style:italic;display:block}.compare{-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;background:#f0f0f0;border:1px solid #ccc;flex:auto;width:100%;min-height:60vh;line-height:0;position:relative;overflow:hidden}.compare:active{cursor:grabbing}.compare[data-empty=true]{cursor:pointer}.compare-canvas-wrap{transform-origin:0 0;transform:translate(var(--pan-x,0px), var(--pan-y,0px)) scale(var(--zoom,1));will-change:transform;position:absolute;top:0;left:0}.compare-canvas-wrap canvas{max-width:none;max-height:none;display:block;position:absolute;top:0;left:0}.compare[data-view=original] #canvas-corrected,.compare[data-view=substitué] #canvas-original{visibility:hidden}.split-overlay{pointer-events:none;display:none;position:absolute;top:0;left:0}.compare[data-view=split] .split-overlay{display:block}.split-overlay-line{stroke:#000000a6;fill:none;vector-effect:non-scaling-stroke;stroke-width:2px}.split-overlay-badge rect{fill:#000000a6}.split-overlay-badge text{fill:#fff;dominant-baseline:middle;font-family:system-ui,-apple-system,sans-serif;font-weight:600}.sample-gallery{flex-wrap:wrap;gap:6px;margin-top:.5rem;display:flex}.sample-thumb{cursor:pointer;background:#fff;border:1px solid #cfd9e4;border-radius:6px;width:56px;height:56px;padding:0;display:block;overflow:hidden}.sample-thumb:hover{border-color:#06c;outline:2px solid #0066cc40}.sample-thumb img{object-fit:cover;width:100%;height:100%;display:block}.sample-group{margin-top:1rem}.sample-group-title{color:#333;margin:0 0 .35rem;font-size:.85rem;font-weight:600}.sample-credit{color:#777;margin:.4rem 0 0;font-size:.72rem;font-style:italic}.sample-credit a{color:#06c;text-decoration:none}.sample-credit a:hover{text-decoration:underline}.view-toggle{background:#f1f5f9;border-radius:10px;flex-direction:row;gap:2px;padding:2px;display:inline-flex}.view-toggle .btn-icon{border-radius:8px}.view-toggle .btn-icon.active{background:#fff;border-color:#cfd9e4;box-shadow:0 1px 2px #00000014}.view-toggle .btn-icon.active:hover{background:#fff}.site-footer{text-align:center;color:#777;flex-direction:column;align-items:center;gap:.5rem;margin-top:2rem;padding:1.5rem;font-size:.8rem;display:flex}.footer-logo{opacity:.5;width:auto;height:36px}.scattered-link{margin:0}.footer-credit{opacity:.75;max-width:520px;margin:.25rem 0;font-size:.72rem;line-height:1.4}.app-version{font-variant-numeric:tabular-nums;opacity:.7}.scattered-link a{color:#06c;text-decoration:none}.scattered-link a:hover{text-decoration:underline}
