/* Couleurs du site : modifier seulement ces variables pour changer la palette. */
:root{--wood:#e5bd82;--wood-edge:#ac783d;--ink:#232b34;--accent:#1763bd;--accent-hover:#104985;--bg:#f7f9fc;--surface:#fff;--muted:#526170;--line:#d8e0e8;--warning:#873813;--radius:12px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--bg);font-size:24px;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);padding:10px 14px;font-weight:600;text-decoration:none;cursor:pointer;min-height:44px}button:hover,.button:hover{border-color:var(--accent);background:#eff5ff}.primary{background:var(--accent);color:white;border-color:var(--accent)}.primary:hover{background:var(--accent-hover);color:white}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.skip{position:absolute;top:-100px}.skip:focus{top:0;z-index:20;background:white;padding:12px}.header{min-height:86px;display:flex;align-items:center;justify-content:space-between;padding:16px max(5vw,20px);gap:24px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{display:flex;align-items:center;font-size:37.5px;font-weight:800;letter-spacing:-1px;text-decoration:none;color:var(--ink);gap:0}.brand-accent{color:var(--accent)}.brand-mark{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;border-radius:8px;height:40px;width:40px;margin-right:10px;font-size:40.5px}.brand-mark span{color:var(--wood);font-size:24px;margin-top:-12px}nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;color:var(--muted);font-weight:600;font-size:.94rem}nav a[aria-current]{color:var(--accent)}.mobile-menu{display:none}.page{max-width:1280px;margin:auto;padding:52px 5vw 70px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.eyebrow{color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:1.5px;margin:0 0 14px}h1{font-size:clamp(2rem,4.5vw,3.8rem);line-height:1.12;letter-spacing:-1.5px;margin:0 0 24px}h1 span{color:var(--accent)}h2{font-size:1.3rem;line-height:1.25;margin:0 0 16px}.lead{font-size:1.15rem;max-width:420px;color:var(--muted);margin:28px 0}.text-link{display:block;margin:18px 0}.small{font-size:.875rem;color:var(--muted)}.product-stage{background:#eaf0f7;border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative}.demo-plaque{width:100%;transform:rotate(-5deg);filter:drop-shadow(0 16px 10px #24324622)}.stage-caption{background:white;border-radius:8px;padding:18px;display:flex;flex-direction:column;gap:6px}.stage-caption span{color:var(--muted);font-size:.875rem}.steps-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--line);margin-top:64px;padding-top:32px}.steps-strip span{color:var(--accent);display:block;font-weight:700;margin-bottom:10px}.steps-strip p{color:var(--muted);font-size:.94rem}.product-card{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:32px}.product-card svg{width:100%}.notice{padding:14px;background:#eaf2fc;border-left:3px solid var(--accent);font-size:.94rem}.editor-page{max-width:1500px;padding:28px 3vw 50px}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}.editor-heading h1{font-size:2rem;margin:0;letter-spacing:-.7px}.editor-heading .eyebrow{margin-bottom:8px}.editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px}.workspace,.tools{min-width:0}.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.toolbar button{font-size:.875rem;padding:7px 12px}.zoom{margin-left:auto;display:flex;gap:6px;align-items:center}.zoom output{min-width:56px;text-align:center;font-size:.875rem}.canvas-wrap{display:flex;align-items:center;justify-content:center;min-height:350px;height:clamp(350px,46vw,550px);background-color:#e8edf3;background-image:radial-gradient(#bac5d1 .7px,transparent .7px);background-size:16px 16px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.canvas-wrap svg{width:100%;height:100%;touch-action:none;user-select:none}#wood{fill:var(--wood);stroke:var(--wood-edge);stroke-width:.35}#safe-zone{fill:none;stroke:#394758;stroke-width:.25;stroke-dasharray:1 1;pointer-events:none}.object{cursor:move;fill:var(--ink)}#selection{pointer-events:none}.canvas-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:.875rem;color:var(--muted);padding-top:10px}.status{min-height:24px;font-size:.94rem;color:var(--accent)}.status.error{color:var(--warning);font-weight:600}.file-actions{display:flex;flex-wrap:wrap;gap:8px}.file-actions button,.file-actions label{font-size:.875rem}.tools{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px;height:fit-content}.tools section+section{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.tools h2{font-size:1rem}.shape-buttons,.icon-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.shape-buttons button,.icon-buttons button{font-size:.875rem;padding:8px}.shape-buttons button[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:#eaf2fc}.icon-buttons svg{width:20px;height:20px;fill:currentColor}.wide{width:100%;margin-bottom:10px}.object-list{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.object-list button{justify-content:flex-start;overflow:hidden;text-overflow:ellipsis;font-size:.875rem;padding:8px}.object-list button[aria-pressed=true]{border-color:var(--accent);background:#eaf2fc}label{display:block;font-size:.875rem;font-weight:600;margin-bottom:12px}input,select{display:block;margin-top:5px;width:100%;background:white;border:1px solid #aab7c4;border-radius:6px;padding:9px;min-height:44px;color:var(--ink)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.danger{color:#9e2c21}.card{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}fieldset{border:0;margin:0;padding:0}footer{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:28px 5vw;color:var(--muted);font-size:.875rem}footer .brand{font-size:30px}dialog{width:min(520px,calc(100% - 32px));border:0;border-radius:14px;padding:32px;color:var(--ink);box-shadow:0 20px 90px #101c3244}dialog::backdrop{background:#16283e80}.tutorial-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px}.tutorial-actions button:first-child{margin-right:auto}.tutorial-dots{display:flex;gap:8px;margin-top:24px}.tutorial-dots span{width:22px;height:5px;border-radius:5px;background:var(--line)}.tutorial-dots span.active{background:var(--accent)}@media(max-width:1000px){nav{gap:15px}.editor-layout{grid-template-columns:minmax(0,1fr) 280px}.hero{gap:30px}}@media(max-width:760px){.header{flex-wrap:wrap;gap:10px;padding:14px 20px}.mobile-menu{display:inline-flex}nav{display:none;width:100%;flex-wrap:wrap;gap:10px 20px;padding:14px 0}nav.open{display:flex}nav a{padding:8px 0}.page{padding:32px 20px 40px}.hero,.product-card,.account-grid{grid-template-columns:1fr}.hero{gap:28px}.steps-strip{grid-template-columns:1fr;gap:16px;margin-top:32px}.steps-strip p{margin:8px 0}.editor-heading{align-items:flex-start;flex-direction:column}.editor-heading h1{font-size:1.75rem}.editor-layout{grid-template-columns:1fr}.canvas-wrap{min-height:250px;height:300px}.toolbar .zoom{margin-left:0;flex-wrap:wrap}.tools{padding:18px}footer{flex-direction:column;align-items:flex-start;gap:12px}.product-stage{padding:14px}.file-actions>*{flex-grow:1}dialog{padding:24px}}

.dimensions{margin-top:16px}.object.outside{fill:#873813;opacity:.75}#svg-preview{width:min(900px,calc(100% - 32px))}#svg-preview-content{background:white;border:1px solid var(--line);padding:20px;max-height:65vh;overflow:auto}#svg-preview-content svg{width:100%;height:50vh;display:block}#center{grid-column:1/-1}.fields button{white-space:normal}.object-list button{overflow-wrap:anywhere}#main:focus{outline:none}

/* Preview camera independent from editing and production geometry. */
.preview-modes{display:flex;gap:.5rem;flex-wrap:wrap;margin:.7rem 0}.preview-modes [aria-pressed="true"]{background:#284634;color:white}#preview-3d{width:100%;height:100%;display:block;touch-action:none;cursor:grab}#preview-3d[hidden],#canvas[hidden]{display:none!important}#preview-3d:focus-visible{outline:3px solid #1763bd;outline-offset:-4px}.canvas-wrap{position:relative}

.preview-front{position:absolute;top:12px;right:12px;z-index:1;box-shadow:0 2px 8px #232b3414}


/* V0.5 — l’atelier dans les Vosges. Les panneaux laissent respirer le décor. */
:root{--accent:#346754;--accent-hover:#254c3d;--bg:#f3f1e8;--line:#d6dccf;--ink:#263d34;--wood:#e6bc80}
.brand-mark svg{width:32px;height:30px}.nav-link{border:0;background:transparent;padding:0;font-size:19.5px;color:inherit}.glass{background:#183d32d9;border:1px solid #e5f1da30;box-shadow:0 8px 30px #10271d24;backdrop-filter:blur(13px)}
body.editor-active{height:100dvh;overflow:hidden;background:#224438;color:#f1f1df}
.editor-active .header{height:60px;min-height:60px;padding:8px 22px;background:#18362e;border-color:#e9e1c520;gap:16px}
.editor-active .brand{font-size:34.5px;color:#f3eedb}.brand-mark{background:#294c3d}.editor-active .brand-mark{width:35px;height:35px;background:transparent}.brand-accent,.editor-active nav a[aria-current]{color:#dfb67b}.editor-active nav{gap:20px}.editor-active nav a{font-size:18px;color:#e0e5d4}
.editor-active #main{height:calc(100dvh - 60px)}.editor-active .editor-page{height:100%;max-width:none;padding:0;position:relative;display:flex;flex-direction:column;overflow:hidden}
.editor-active .editor-heading{height:42px;flex-shrink:0;margin:0;padding:6px 22px;align-items:center;flex-direction:row;background:#24493c;border-bottom:1px solid #e9e1c51a}
.editor-active .editor-heading h1{font-size:19.5px;font-weight:400;letter-spacing:.3px;color:#e2e5cf}.editor-active .editor-heading .eyebrow{display:none}
.editor-active button,.editor-active .button{background:#204d3fbc;border-color:#e2ecd036;color:#f3f1dd;min-height:36px;font-size:18px;padding:7px 10px;border-radius:9px;font-weight:500}
.editor-active button:hover{background:#386751;border-color:#e4c28b}.editor-active :focus-visible{outline-color:#f6c47c}.editor-active button:disabled{opacity:.4}
.editor-active .primary{background:#e5bb7f;color:#253d30;border-color:#e5bb7f;font-weight:700}.editor-active .primary:hover{background:#f1ca93}
.editor-active .editor-layout{position:relative;flex:1;min-height:0;display:block;overflow:hidden;isolation:isolate;background:#a9bba7}
.forest-scene{position:absolute;inset:-35px;z-index:-1;overflow:hidden;pointer-events:none;background:#9aaf9e}
.mountain-layer,.tree-layer,.forest-haze{position:absolute;inset:0;background-size:cover;background-position:center;will-change:transform}
.mountain-layer{background-image:url('./mountains.svg');filter:blur(4px);transform:translate(var(--far-x,0px),var(--far-y,0px)) scale(1.08)}
.tree-layer{background-image:url('./trees.svg');filter:blur(2.5px);transform:translate(var(--near-x,0px),var(--near-y,0px)) scale(1.08);opacity:.8}
.forest-haze{background:radial-gradient(ellipse at 50% 45%,#e7e4cc22,#142f2944)}
.editor-active .workspace{position:absolute;inset:0;display:flex;flex-direction:column;background:transparent;border:0;border-radius:0;overflow:hidden}
.editor-active .toolbar{position:relative;z-index:4;display:flex;flex-wrap:nowrap;margin:12px 18px 0;padding:6px;border:1px solid #e3ead128;border-radius:12px;background:#204237db;gap:3px;align-items:center;backdrop-filter:blur(12px);flex-shrink:0}
.editor-active .toolbar button{border:0;background:transparent;min-height:30px;padding:5px 9px;font-size:16.5px;white-space:nowrap}.editor-active .zoom{margin-left:auto;flex-wrap:nowrap;gap:0}.editor-active .zoom output{color:#e6ecd9;font-size:16.5px;min-width:45px}.scene-controls{display:flex;border-left:1px solid #dce7ca30;padding-left:6px;margin-left:8px;gap:2px}
.editor-active .canvas-wrap{flex:1;min-height:0;height:auto;background:none;border:0;border-radius:0;overflow:hidden}
.editor-active #preview-3d,.editor-active #canvas{position:absolute;inset:0;z-index:0}
.editor-active .preview-modes{position:absolute;bottom:100px;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-wrap:nowrap;gap:3px;padding:4px;margin:0;border:1px solid #e3ead149;border-radius:24px;background:#1d4439df;white-space:nowrap;box-shadow:0 4px 15px #10271d20}
.editor-active .preview-modes button{min-height:28px;border:0;border-radius:18px;font-size:16.5px;padding:4px 12px;background:transparent;color:#e3e9d8}.editor-active .preview-modes [aria-pressed=true]{color:#233f31;background:#e7bf87}
.editor-active .preview-front{top:10px;right:240px;z-index:2;background:#244a3ed9;border-color:#e1e7ce50;min-height:32px;font-size:16.5px;box-shadow:none}
.editor-active .canvas-caption{position:absolute;bottom:75px;left:calc(50% + 20px);transform:translateX(-50%);padding:0;border:0;color:#254333;font-size:16.5px;white-space:nowrap;z-index:1;gap:8px}.canvas-caption span:last-child{display:none}
.editor-active .status{position:absolute;bottom:24px;left:18px;right:390px;min-height:16px;margin:0;font-size:16.5px;color:#f0f1db;background:#244a3edb;border-radius:6px;padding:5px 8px;width:fit-content;max-width:calc(100% - 410px);z-index:3}.editor-active .status.error{color:#ffe0ba}
.editor-active #preview-help{position:absolute;bottom:54px;left:20px;margin:0;font-size:15px;color:#f1f1df;text-shadow:0 1px 4px #183a30;z-index:2;max-width:280px}
.editor-active .tools{position:absolute;z-index:3;top:76px;left:18px;bottom:100px;width:258px;min-height:0;height:auto;padding:0;border:1px solid #e5f1da30;border-radius:14px;background:#173e32d4;box-shadow:0 8px 30px #10271d24;backdrop-filter:blur(13px);display:flex;flex-direction:column;overflow:hidden}
.inspector-heading{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid #dfe6cd25;font-size:19.5px}.inspector-heading span{font-size:15px;color:#d4ddc5}
.tool-tabs{display:flex;padding:4px 8px;border-bottom:1px solid #dfe6cd25;gap:2px}.editor-active .tool-tabs button{flex:1;border:0;border-radius:6px;background:transparent;min-height:37px;color:#d6dec9;padding:7px 3px;font-size:16.5px}
.editor-active .tool-tabs button[aria-selected=true]{color:#273c30;background:#e5bf87;font-weight:700}
.inspector-body{padding:16px;overflow:auto;flex:1;min-height:0;scrollbar-color:#728d70 transparent;scrollbar-width:thin}.editor-active .tools section+section{padding:0;margin:0;border:0}.editor-active .tools h2{font-size:19.5px;color:#f5efda;margin:0 0 13px;font-weight:600}
.editor-active label{font-size:16.5px;font-weight:500;color:#e4e8d6;margin-bottom:12px}.editor-active input,.editor-active select{background:#17392fbc;color:#fff8e6;border-color:#d8e7c63f;min-height:36px;padding:7px 9px;font-size:19.5px;border-radius:7px;accent-color:#e9bf7e;color-scheme:dark}
.editor-active .small{color:#d0dac2;font-size:15px;line-height:1.55}.editor-active .object-list{gap:5px}.editor-active .object-list button{justify-content:flex-start;font-size:16.5px}.editor-active .object-list button[aria-pressed=true]{background:#396849;border-color:#f0c789}.editor-active .icon-buttons{gap:7px}.editor-active .icon-buttons button{justify-content:flex-start;font-size:16.5px;min-height:40px}.editor-active .icon-buttons svg{width:17px;height:17px}
.advanced{border-top:1px solid #dfe6cd25;margin:16px 0;padding-top:10px}.advanced summary{color:#d6dec9;font-size:16.5px;cursor:pointer;margin-bottom:12px}.editor-active .danger{color:#ffcfb3;border-color:#b58871}
.project-actions{padding:10px 14px;border-top:1px solid #dfe6cd25;display:grid;grid-template-columns:1fr 1fr;gap:5px}.project-actions p,.project-actions #autosave-state{grid-column:1/-1;font-size:13.5px;color:#d4dec7;margin:0}.project-actions #autosave-state{color:#f1cf91;font-size:15px;margin-bottom:3px}.editor-active .project-actions button{font-size:15px;min-height:30px}
.shape-gallery{position:absolute;right:18px;top:76px;width:202px;max-height:calc(100% - 180px);border-radius:14px;z-index:3;display:flex;flex-direction:column;overflow:hidden}.gallery-heading{display:flex;align-items:center;padding:10px 12px;gap:4px;flex-shrink:0}.gallery-heading strong{font-size:18px;margin-right:auto}.editor-active .gallery-heading button{min-height:28px;min-width:28px;padding:3px;border:0;background:transparent;font-size:25.5px}.shape-gallery #shape-gallery-body{padding:0 12px 14px;overflow:auto;scrollbar-width:thin}.shape-gallery p{font-size:15px;color:#d9e0ca;margin:0 0 12px}.editor-active .shape-buttons{display:grid;grid-template-columns:1fr;gap:8px}.editor-active .shape-buttons button{display:flex;flex-direction:row;justify-content:flex-start;min-height:67px;padding:8px 12px;gap:13px;background:#e1e6cb0d;border:1px solid #dae5c926;color:#f4efd8;font-size:16.5px}.shape-buttons svg{width:57px;height:43px;fill:#e3b77d;filter:drop-shadow(1px 3px 0 #795834)}.editor-active .shape-buttons button[aria-pressed=true]{background:#e8c28721;border-color:#edc78f;color:#ffdfaa}.gallery-note{display:block;font-size:13.5px;color:#d3dcc2;line-height:1.8;margin-top:18px}.shape-gallery.large{width:290px}.editor-active .shape-gallery.large .shape-buttons{grid-template-columns:1fr 1fr}.editor-active .shape-gallery.large .shape-buttons button{flex-direction:column;gap:9px;min-height:95px}.shape-gallery.collapsed{width:202px}
.price-dock{position:absolute;z-index:5;bottom:17px;right:18px;display:flex;align-items:center;gap:18px;padding:12px 16px;border-radius:14px}.price-dock>div{display:flex;flex-direction:column;gap:1px}.price-label{font-size:12px;letter-spacing:1.4px;color:#e1c79b}.price-dock strong{font-size:36px;line-height:1.2;letter-spacing:-.7px;color:#f5ecd6}.price-dock small{font-size:12px;color:#cfd9c0}.editor-active .price-dock button{padding:11px 14px;min-height:42px;font-size:16.5px}
.editor-active .toolbar [aria-pressed=true]{background:#e1ba7e;color:#254334}.editor-active footer{display:none}
body.studio-scene .mountain-layer{background-image:linear-gradient(145deg,#d6ceb7,#8d9a86);filter:none}body.studio-scene .tree-layer{opacity:0}
#wood-loader{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#19392eea;backdrop-filter:blur(12px);color:#f3e4c9}.loader-card{text-align:center;width:min(380px,90vw)}.loader-card svg{width:240px;max-height:180px}.loader-card h2{font-size:27px;margin:15px 0 8px}.loader-card p{font-size:18px;color:#cfdbc1}.loader-card button{margin-top:15px;background:#e3bc83;color:#244431;border:0;font-size:18px}.little-saw{animation:saw .55s ease-in-out infinite;transform-origin:center}.little-woodworker{animation:worker 1.1s ease-in-out infinite;transform-origin:84px 125px}.wood-dust{animation:dust .55s ease-in-out infinite}
@keyframes saw{50%{transform:translateX(10px)}}@keyframes worker{50%{transform:rotate(3deg)}}@keyframes dust{0%{opacity:0;transform:translateY(-3px)}70%{opacity:1}100%{opacity:0;transform:translateY(7px)}}
body:not(.editor-active){background:#eff0df;color:#284334}body:not(.editor-active) .header{background:#f5f1e3}body:not(.editor-active) .card{background:#f8f2df;border-radius:20px;box-shadow:0 8px 30px #2043310b}body:not(.editor-active) .notice{background:#e4e8cf;border-color:#56846a}.basket-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px}.basket-item{margin:12px 0;display:flex;align-items:center;gap:18px}.basket-item svg{width:90px;height:65px;fill:#d9b17b}.basket-item div{flex:1}.basket-item h2{font-size:24px;margin-bottom:6px}.basket-item p{font-size:18px;margin:0}.basket-item button{font-size:18px}
@media(max-width:1000px){.editor-active .tools{width:225px}.shape-gallery{width:174px}.editor-active .preview-front{right:210px}.editor-active .toolbar{margin:8px 10px 0}.editor-active .toolbar button{padding:5px 6px}.scene-controls{padding-left:3px;margin-left:3px}.editor-active .status{max-width:35%;font-size:15px}.editor-active #preview-help{max-width:210px}.price-dock{gap:10px}}
@media(max-width:760px){.editor-active .header{height:54px;min-height:54px;padding:6px 12px;flex-wrap:nowrap}.editor-active .brand{font-size:28.5px}.editor-active #main{height:calc(100dvh - 54px)}.editor-active .header nav{position:absolute;top:54px;right:0;z-index:12;width:220px;background:#1c4034;padding:15px;box-shadow:0 8px 20px #10271d60}.editor-active .header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:14px}.editor-active .editor-heading{height:35px;padding:3px 12px}.editor-active .editor-heading h1{font-size:15px}.editor-active .editor-heading button{min-height:26px;padding:3px 8px}.editor-active .tools{left:10px;right:10px;top:auto;bottom:80px;width:auto;height:34%;min-height:120px;border-radius:12px}.editor-active .inspector-heading,.editor-active .project-actions{display:none}.editor-active .tool-tabs{flex-shrink:0;padding:0 8px}.editor-active .tool-tabs button{min-height:32px}.editor-active .inspector-body{padding:10px 12px;max-height:none}.editor-active .tools h2{display:none}.editor-active .fields{gap:8px}.editor-active .dimensions{margin-top:0}.editor-active .small{font-size:13.5px}.editor-active .workspace{height:100%;min-height:0}.editor-active .toolbar{flex-wrap:wrap;padding:3px;gap:0;margin:7px 9px 0}.editor-active .toolbar>button{font-size:15px;min-height:28px}.editor-active .zoom{margin-left:auto}.editor-active .zoom button{font-size:15px;min-height:28px}.editor-active .zoom output{min-width:35px;font-size:15px}.scene-controls{width:100%;border:0;padding:1px 2px;justify-content:center;margin:0}.editor-active .scene-controls button{min-height:28px;font-size:15px}.shape-gallery{right:10px;top:90px;width:118px;max-height:calc(56% - 110px);border-radius:10px}.gallery-heading{padding:5px 7px;gap:0}.gallery-heading strong{font-size:13.5px}.editor-active .gallery-heading button{min-width:23px;min-height:25px;font-size:21px}.shape-gallery #shape-gallery-body{padding:0 7px 7px}.shape-gallery p,.gallery-note{display:none}.editor-active .shape-buttons{gap:5px}.editor-active .shape-buttons button{min-height:40px;padding:4px 6px;gap:5px;font-size:13.5px}.shape-buttons svg{width:33px;height:27px}.shape-gallery.large{width:220px}.shape-gallery.collapsed{width:118px}.editor-active .shape-gallery.large .shape-buttons button{min-height:58px}.editor-active .preview-front{top:8px;right:10px;font-size:13.5px;min-height:28px;padding:4px 7px}.editor-active .preview-modes{bottom:calc(34% + 90px);left:42%}.editor-active .preview-modes button{font-size:13.5px;padding:3px 8px;min-height:25px}.editor-active .canvas-caption{bottom:calc(34% + 76px);left:38%;font-size:13.5px}.editor-active .price-dock{bottom:10px;right:10px;left:10px;justify-content:space-between;padding:10px 12px;height:62px}.price-dock strong{font-size:31.5px}.editor-active .price-dock button{min-height:38px;font-size:15px;padding:8px 10px}.editor-active .status,.editor-active #preview-help{display:none}.basket-summary,.basket-item{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.little-saw,.little-woodworker,.wood-dust{animation:none}.mountain-layer,.tree-layer{will-change:auto}}

.heading-actions{display:flex;gap:8px}.editor-active #canvas{left:285px;width:calc(100% - 515px);height:calc(100% - 110px);top:0}.editor-active #preview-3d{width:100%;height:100%}
@media(max-width:1000px) and (min-width:761px){.editor-active #canvas{left:250px;width:calc(100% - 450px)}}
@media(max-width:760px){.editor-active #canvas{left:0;top:0;width:calc(100% - 120px);height:47%}.heading-actions{gap:4px}}

/* Palette bleu nuit, d’après Les œufs de Ferrières. Le décor conserve ses verts. */
:root{--accent:#4078ad;--accent-hover:#568fc3;--bg:#061427;--surface:#0c223d;--ink:#edf2f8;--muted:#aebed2;--line:#34516e}
body:not(.editor-active){background:radial-gradient(ellipse at 16% 0%,#16375c 0%,#07172e 48%,#040d1c 100%);color:#edf2f8}
body:not(.editor-active) .header{background:linear-gradient(110deg,#0b203a,#061327);border-color:#243e5b}
body:not(.editor-active) .brand,body:not(.editor-active) nav a{color:#dce7f4}
body:not(.editor-active) .card,body:not(.editor-active) .stage-caption{background:linear-gradient(145deg,#102f50,#091c34);border-color:#34516e;box-shadow:0 8px 30px #02081430}
body:not(.editor-active) .notice{background:#112f50;border-color:#6296c7;color:#e5eff9}
body:not(.editor-active) button,body:not(.editor-active) .button{background:linear-gradient(145deg,#173b61,#0b203b);color:#edf2f8;border-color:#4a6480}
body:not(.editor-active) input,body:not(.editor-active) select{background:#0b203b;color:#edf2f8;border-color:#4a6480}
body.editor-active{background:#07182d;color:#edf2f8}
.editor-active .header{background:linear-gradient(105deg,#0b2340,#061428);border-color:#506b8738}
.editor-active .editor-heading{background:linear-gradient(110deg,#17385b,#0b223e);border-color:#506b8738}
.editor-active .editor-heading h1{color:#c6d5e7}
.glass,.editor-active .tools{background:linear-gradient(145deg,#102e50eb,#081b34e6);border-color:#6c8caf50;box-shadow:0 8px 30px #020b1d40}
.editor-active .toolbar{background:linear-gradient(110deg,#193b5edf,#0c2543e8);border-color:#6c8caf50}
.editor-active button,.editor-active .button{background:linear-gradient(145deg,#153655d9,#0a203bdd);border-color:#819ab860;color:#eef3fa}
.editor-active button:hover,.editor-active .button:hover{background:linear-gradient(145deg,#28527d,#153858);border-color:#9cb3ce}
.editor-active .primary,.editor-active .primary:hover{background:linear-gradient(145deg,#2a5d8b,#173c65);color:#fff5dc;border-color:#9eb6d0}
.editor-active .toolbar button,.editor-active .gallery-heading button{background:transparent}
.editor-active .toolbar button:hover,.editor-active .gallery-heading button:hover{background:#274e7580}
.editor-active .tool-tabs button{background:transparent;color:#c5d4e7}
.editor-active .tool-tabs button[aria-selected=true],.editor-active .toolbar [aria-pressed=true],.editor-active .preview-modes [aria-pressed=true]{background:linear-gradient(145deg,#2c5c88,#183c63);color:#f3f7ff;border-color:#a6bdd7}
.editor-active .object-list button[aria-pressed=true]{background:linear-gradient(145deg,#244f78,#12345a);border-color:#a3bad2;color:#f3f7ff}
.editor-active input,.editor-active select{background:linear-gradient(120deg,#0a203b,#102d4b);border-color:#647f9f66;color:#eef4fb;accent-color:#8fbae1}
.editor-active .preview-front,.editor-active .preview-modes{background:linear-gradient(145deg,#17395eea,#081d37e8);border-color:#87a3c169}
.editor-active .preview-modes button{background:transparent;color:#cbd9e9}
.editor-active .status{background:linear-gradient(120deg,#153352e8,#0b213bdf);color:#e8f0fa}
.editor-active .status.error{color:#ffe0ba}
.editor-active .shape-buttons button{background:linear-gradient(145deg,#31547742,#10294140);border-color:#809ab94a;color:#e8eff8}
.editor-active .shape-buttons button[aria-pressed=true]{background:linear-gradient(145deg,#2c537d9c,#14385999);border-color:#b3c8df;color:#fff2d7}
.editor-active .tools h2,.gallery-heading strong{color:#edf3fa}
.editor-active .small,.shape-gallery p,.gallery-note,.advanced summary,.inspector-heading span{color:#b9cbe0}
.editor-active label{color:#dce7f5}
.inspector-heading,.tool-tabs,.project-actions,.advanced{border-color:#7a96b740}
.inspector-body{scrollbar-color:#4b6e98 transparent}
.project-actions p,.project-actions #autosave-state{color:#b9cbe0}.project-actions #autosave-state{color:#e9c681}
.price-dock strong{color:#edf4ff}.price-label{color:#c1d2e6}.price-dock small{color:#b9cbe0}
#wood-loader{background:radial-gradient(ellipse at 40% 25%,#173b60ed,#07162ded);color:#f4e8ce}
.loader-card p{color:#c1d2e6}.loader-card button{background:linear-gradient(145deg,#2b5a85,#15385e);color:#f5edda;border:1px solid #8fa7c2}
.editor-active #preview-3d:focus-visible{outline-color:#adcdf1}.editor-active :focus-visible{outline-color:#adcdf1}
@media(max-width:760px){.editor-active .header nav{background:linear-gradient(145deg,#123257,#071a33);box-shadow:0 8px 20px #020b1d60}}

dialog{background:linear-gradient(145deg,#133357,#071b34);color:#edf2f8;border:1px solid #5a7797}dialog::backdrop{background:#04102299}.product-stage svg text{fill:#263d34}

/* The flat wood drawing keeps its own engraving ink, independent of the UI theme. */
#canvas .object{fill:#503019}#canvas .object.outside{fill:#a12c20}

/* Account and delivery share the atelier's midnight-blue palette. */
.checkout-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.8fr);gap:24px;align-items:start;max-width:1100px}.checkout-grid .card{margin-bottom:20px}.checkout-summary{position:sticky;top:90px}.checkout-summary button{width:100%;margin:8px 0}.account-grid form button{margin:8px 6px 0 0}.delivery-choices{border:0;padding:0;display:flex;gap:20px;flex-wrap:wrap}.delivery-choices legend{font-weight:600;margin-bottom:12px}.delivery-choices label{display:flex;gap:9px;align-items:center}.delivery-choices input{width:auto}#relay-map{min-height:500px;margin-top:16px;background:#fff;color:#15253b;border-radius:12px;overflow:hidden}#relay-map input{color:#15253b;background:#fff}#checkout-status{overflow-wrap:anywhere}button:disabled{cursor:not-allowed;opacity:.5}.page [hidden]{display:none!important}@media(max-width:760px){.checkout-grid{grid-template-columns:1fr}.checkout-summary{position:static}.delivery-choices{flex-direction:column}}

/* Corrections du 15 octobre : police ×1,5, commandes explicites, édition directe. */
:root{--header-h:80px}#fullscreen-toggle{font-size:32px;min-width:48px;min-height:48px;padding:0 8px;flex-shrink:0;margin-left:auto;color:#e7eff9}.header nav{margin-left:auto}.header .nav-link{color:#c2d0e1;font-size:inherit;padding:0;border:0;min-height:44px;background:transparent}.header nav a,.header .nav-link{border-bottom:2px solid transparent;border-radius:0}.header nav a[aria-current=page],.header .nav-link[aria-expanded=true]{color:#f0cb8e!important;border-bottom-color:#f0cb8e}.header .nav-link:hover{color:#fff;background:transparent}.header .nav-link:focus:not(:focus-visible){outline:none}
select{color-scheme:dark}select option{background:#102c49;color:#f1f5fb}select option:checked{background:#2d557d;color:#fff}
body:not(.editor-active) .product-stage,body:not(.editor-active) .stage-caption{background:transparent;border:0;box-shadow:none}.product-stage{padding:0}#home-preview{width:100%;height:360px;display:block}.stage-caption{text-align:center}.hero{gap:32px}
.editor-active .header{height:var(--header-h);min-height:var(--header-h)}.editor-active #main{height:calc(100dvh - var(--header-h))}.editor-active .editor-heading{height:52px}.editor-active .editor-heading h1{font-size:19.5px}.editor-active .tools{width:310px;top:85px}.inspector-heading{padding:12px;gap:5px;flex-wrap:wrap}.inspector-heading span{font-size:15px;white-space:nowrap}.editor-active .tools h2{font-size:19.5px}.editor-active .toolbar{margin:12px 12px 0;gap:4px;flex-wrap:wrap;min-height:52px}.editor-active .toolbar button{min-height:40px;font-size:16.5px}.editor-active .toolbar .zoom{margin-left:auto}.scene-controls{gap:6px;align-items:center;border:0}.background-control{display:flex;align-items:center;gap:6px;margin:0!important;font-size:16.5px!important}.editor-active .background-control select{margin:0;min-height:40px;padding:5px 6px;font-size:16.5px;width:155px}.editor-active .preview-front{right:236px;font-size:16.5px;min-height:42px}.shape-gallery{width:198px;top:85px}.editor-active .shape-buttons button{min-height:70px;font-size:16.5px;gap:6px;padding:8px}.editor-active .shape-buttons svg{width:45px}.shape-gallery p{font-size:15px}.gallery-note{font-size:13.5px}.editor-active #canvas{left:335px;width:calc(100% - 565px);top:0;height:calc(100% - 145px)}.editor-active .preview-modes{bottom:124px}.editor-active .canvas-caption{bottom:98px;max-width:65%;white-space:normal;text-align:center}.editor-active .status{bottom:18px;right:auto;max-width:55%;font-size:16px}.editor-active #preview-help{bottom:53px;max-width:45%;font-size:15px}.price-dock{max-width:43%;gap:10px;padding:12px}.price-dock strong{font-size:32px}.editor-active .price-dock button{font-size:16.5px}.price-label{font-size:12px}.price-dock small{font-size:12px}
#selection{pointer-events:none}.resize-handle{pointer-events:all;cursor:nwse-resize;touch-action:none}.handle-square{fill:#9d6b35;stroke:#fff7e7;stroke-width:.35;filter:drop-shadow(0 .4px .35px #16324d88)}#plate-handles .handle-square{fill:#2d6c9d}.handle-hit{pointer-events:all}.dimension-line{stroke:#294559;stroke-width:.25;fill:none}.dimension-text{font-size:4px;fill:#173044;paint-order:stroke;stroke:#ffffff80;stroke-width:2;stroke-linejoin:round;pointer-events:none}#canvas .cut-object,#canvas .cut-object.outside{fill:none;stroke:#4f2f1d;stroke-width:.4;opacity:1}.cut-object rect{stroke:none}.editor-active #canvas{overflow:visible}
body[data-background=white] .forest-scene{background:#fff}body[data-background=grey] .forest-scene,body[data-background=grid] .forest-scene{background:#d9dfe5}body[data-background]:not([data-background=forest]) .forest-scene>*{display:none}
@media(max-width:1150px){.editor-active .toolbar{gap:0}.editor-active .toolbar button{padding:4px 6px}.scene-controls{margin:0;padding:0}.editor-active .tools{width:275px}.editor-active #canvas{left:295px;width:calc(100% - 515px)}.editor-active nav{gap:14px}.header{gap:12px;padding-left:16px;padding-right:16px}}
@media(max-width:900px){:root{--header-h:70px}.mobile-menu{display:inline-flex;font-size:18px}.header{flex-wrap:nowrap;min-height:70px;padding:8px 12px;position:relative;gap:8px}.header .brand,.editor-active .brand{font-size:28px}.header #fullscreen-toggle{margin-left:0;font-size:32px}.header #menu-toggle{margin-left:auto}.header nav,.editor-active .header nav{display:none;position:absolute;top:100%;right:0;left:auto;width:260px;padding:15px;background:#0b223d;z-index:20}.header nav.open,.editor-active .header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.header nav a,.header nav button,.editor-active .header nav a{font-size:18px;min-height:44px;padding:6px}.hero,.account-grid{grid-template-columns:1fr}.hero h1{font-size:2rem}.editor-active .header{padding:8px 12px}.editor-active .editor-heading{height:45px;padding:5px 12px;gap:8px}.editor-active .editor-heading h1{font-size:15px}.editor-active .editor-heading button{font-size:15px;min-height:36px}.editor-active .tools{left:10px;right:10px;top:auto;bottom:88px;width:auto;height:36%;min-height:130px}.editor-active .inspector-heading,.editor-active .project-actions{display:none}.editor-active .tool-tabs{flex-shrink:0}.editor-active .tool-tabs button{font-size:16.5px;min-height:42px}.editor-active .inspector-body{padding:10px 12px}.editor-active label{font-size:16.5px}.editor-active input,.editor-active select{font-size:19.5px;min-height:44px}.editor-active .small{font-size:13.5px}.editor-active .toolbar{padding:3px;margin:7px 8px 0;gap:0}.editor-active .toolbar button,.editor-active .zoom button{font-size:15px;min-height:36px;padding:4px 6px}.scene-controls{width:100%;justify-content:center;flex-wrap:wrap}.editor-active .background-control,.editor-active .background-control select{font-size:15px!important;min-height:36px}.editor-active .background-control select{width:128px}.editor-active .preview-modes{bottom:calc(36% + 98px);left:39%;max-width:76%}.editor-active .preview-modes button{font-size:13.5px;padding:4px 8px;min-height:34px}.editor-active .canvas-caption{bottom:calc(36% + 82px);left:36%;font-size:13px;max-width:60%;line-height:1.2}.shape-gallery{right:8px;top:112px;width:102px;max-height:calc(56% - 130px)}.gallery-heading{padding:4px}.gallery-heading strong{font-size:12px}.editor-active .gallery-heading button{min-width:22px;min-height:30px;font-size:19px}.shape-gallery #shape-gallery-body{padding:0 6px 6px}.shape-gallery p,.gallery-note{display:none}.editor-active .shape-buttons button{min-height:44px;gap:4px;padding:4px;font-size:12px}.editor-active .shape-buttons svg{width:29px;height:26px}.shape-gallery.large{width:200px}.shape-gallery.collapsed{width:102px}.editor-active .preview-front{right:10px;top:6px;font-size:13.5px;min-height:34px}.editor-active #canvas{left:0;top:0;width:calc(100% - 104px);height:44%}.editor-active .price-dock{max-width:none;left:10px;right:10px;bottom:10px;height:70px;padding:8px 12px;justify-content:space-between}.editor-active .price-dock button{font-size:15px;padding:8px 10px}.price-dock strong{font-size:28px}.price-label,.price-dock small{font-size:10.5px}.editor-active .status,.editor-active #preview-help{display:none}#home-preview{height:300px}}

@media(min-width:901px) and (max-width:1050px){.header .mobile-menu{display:inline-flex}.header nav,.editor-active .header nav{display:none;position:absolute;top:100%;right:0;z-index:20;width:260px;padding:15px;background:#0b223d}.header{position:relative}.header nav.open,.editor-active .header nav.open{display:flex;flex-direction:column;align-items:stretch}.header nav a,.header nav button{font-size:18px}.header #menu-toggle{margin-left:auto}#fullscreen-toggle{margin-left:0}}

.scale-credit{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:11px;color:#14314e;z-index:2;background:#f8fcffb3;border-radius:4px;padding:2px 5px;max-width:60%;text-align:center}@media(max-width:900px){.scale-credit{bottom:calc(36% + 68px);left:38%;font-size:10px;max-width:65%}}

/* Temporary SVG test tools are absent from the normal customer interface. */
.header .test-export{font-size:16px;min-height:42px;padding:8px 12px;white-space:nowrap;background:#e3bd7a;color:#10243a;border-color:#b59865}.svg-tests .header nav{margin-left:auto}
@media(max-width:900px){.svg-tests{--header-h:110px}.svg-tests .header,.svg-tests.editor-active .header{height:110px;min-height:110px;display:grid;grid-template-columns:1fr auto auto;gap:4px 8px}.svg-tests .header .brand{grid-column:1;grid-row:1}.svg-tests .header #menu-toggle{grid-column:2;grid-row:1}.svg-tests .header #fullscreen-toggle{grid-column:3;grid-row:1}.svg-tests .header .test-export{grid-column:2/4;grid-row:2;min-height:34px;padding:4px 10px;font-size:15px}.svg-tests .header nav{margin-left:0}}

/* Temporary movement comparison, removable after owner validation. */
.rotation-tests{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:8px 0;padding:10px 14px;border:1px solid #91abc7;border-radius:12px;background:#0c2545;color:#f3f7ff}
.rotation-tests legend{padding:0 6px;font-size:14px;font-weight:600}.rotation-tests label{display:inline-flex;align-items:center;gap:7px;margin:0;font-size:14px;cursor:pointer}.rotation-tests input[type=checkbox]{width:19px;height:19px;min-height:0;margin:0;accent-color:#80baf0}.rotation-tests p{width:100%;margin:0;font-size:12px;color:#d1dfed}
.editor-active .rotation-tests{position:absolute;z-index:4;bottom:155px;left:335px;right:236px;max-width:640px;margin:0;pointer-events:auto}
@media(max-width:900px){.editor-active .rotation-tests{left:10px;right:118px;top:100px;bottom:auto;padding:6px 8px;gap:4px 8px}.editor-active .rotation-tests label{font-size:12px}.editor-active .rotation-tests input[type=checkbox]{width:18px;height:18px;min-height:0}.rotation-tests legend{font-size:12px}.rotation-tests p{font-size:10px}}

/* Temporary export stays next to the brand, outside the mobile menu. */
.header #export-test-svg{margin-right:auto;white-space:nowrap;font-size:15px;padding:6px 10px;min-height:38px}
@media(max-width:900px){.header #export-test-svg{font-size:12px;padding:4px 7px;min-height:34px}.svg-tests.editor-active .header{column-gap:6px}.svg-tests.editor-active .brand{font-size:24px}.svg-tests.editor-active .brand-mark{margin-right:4px}}
/* Visual backgrounds and libraries. */
.background-picker{position:relative;font-size:15px;z-index:9}.background-picker summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;padding:5px 8px;min-height:40px;border:1px solid #8ca6c1;border-radius:7px;background:#123354;color:#f2f7ff}.background-picker summary::after{content:'▾';margin-left:4px}.background-current{display:inline-block;width:28px;height:28px;border-radius:5px;border:1px solid #9ba9b4}.background-options{position:absolute;right:0;top:calc(100% + 7px);display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:8px;width:280px;padding:12px;background:#0b2543;border:1px solid #8ca6c1;border-radius:12px;box-shadow:0 12px 30px #0005}.background-options button{display:flex;flex-direction:column;padding:7px;color:#edf5ff;background:#153757;font-size:13px!important}.background-options button[aria-pressed=true]{outline:2px solid #b9daf7;outline-offset:1px}.background-swatch{display:block;width:96px;height:64px;border-radius:6px;border:1px solid #93a4b4}.swatch-white{background:#fff}.swatch-grey{background:#d9dfe5}.swatch-grid{background-color:#d9dfe5;background-image:linear-gradient(#71849c60 1px,transparent 1px),linear-gradient(90deg,#71849c60 1px,transparent 1px),linear-gradient(#71849c26 1px,transparent 1px),linear-gradient(90deg,#71849c26 1px,transparent 1px);background-size:20px 20px,20px 20px,4px 4px,4px 4px}.swatch-forest{background:linear-gradient(145deg,transparent 40%,#314e3d 41%,#314e3d 65%,transparent 66%) 0 0/60% 100%,linear-gradient(215deg,transparent 40%,#56715b 41%,#56715b 70%,transparent 71%) 100% 0/80% 100%,linear-gradient(#a7c3c9,#d9e5cf);background-repeat:no-repeat}
.editor-active #shape-buttons{max-height:calc(100dvh - 340px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.forms-scroll{width:100%;min-height:26px!important;padding:0!important;font-size:20px!important}.library-dialog{width:min(1240px,96vw);max-width:96vw;max-height:90dvh;padding:22px;border:1px solid #8ea5bd;border-radius:18px;background:#edf3f8;color:#182d46;box-shadow:0 25px 80px #0007}.library-dialog::backdrop,.save-project-dialog::backdrop{background:#06182db3}.library-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.library-dialog h2{margin:0;font-size:24px}.library-dialog header button{font-size:15px}.library-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:15px}.library-filters label{flex:1;min-width:170px;font-size:15px;margin:0}.library-filters input,.library-filters select{font-size:16px;min-height:42px}.library-filters output{font-size:14px;padding:10px}.forms-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px}.forms-grid button{display:flex;flex-direction:column;justify-content:center;padding:8px 3px;min-width:0;min-height:110px;font-size:12px;font-weight:500;line-height:1.2;background:white}.forms-grid svg{width:100%;height:66px;fill:#2b5276}.forms-grid button[aria-pressed=true]{background:#d9eafa;outline:2px solid #285580}.saved-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.saved-project{display:flex;flex-direction:column;padding:12px;background:#fff;min-width:0}.saved-project svg{width:100%;height:145px}.saved-project strong{font-size:16px;overflow-wrap:anywhere}.saved-project span{font-size:12px;color:#52657a}.save-project-dialog{width:min(520px,94vw);border:1px solid #91abc7;border-radius:16px;padding:24px;background:#edf3f8;color:#182d46}.save-project-dialog input{font-size:19px}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dialog-actions button{font-size:15px}#save-project-status{font-size:15px;color:#8a3019}
@media(max-width:1100px){.forms-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}
@media(max-width:900px){.editor-active #shape-buttons{max-height:calc(56dvh - 230px)}.forms-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.forms-grid button{min-height:95px;font-size:11px}.library-dialog{padding:12px}.library-dialog h2{font-size:20px}.library-filters{gap:6px}.library-filters label{min-width:130px}.background-picker summary{font-size:13px;min-height:36px}.background-options{right:-35px;width:260px}.background-swatch{width:90px;height:60px}.editor-active .rotation-tests label{font-size:12px}.editor-active .library-dialog label{font-size:15px}.saved-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.saved-project svg{height:110px}}
@media(max-width:900px){.editor-active .project-actions{display:flex;gap:6px;flex-shrink:0;justify-content:flex-end;padding:4px 10px}.editor-active .project-actions p,.editor-active #autosave-state{display:none}.editor-active .project-actions button{font-size:13px;min-height:32px;padding:3px 8px}}

/* The editor replaces the former landing page; a short welcome follows the loader. */
.welcome-dialog{width:min(510px,92vw);padding:30px;border:1px solid #8eacc9;border-radius:20px;background:linear-gradient(145deg,#183c63,#081d37);color:#f0f6fc;box-shadow:0 24px 80px #0007}.welcome-dialog::backdrop{background:#06182d99;backdrop-filter:blur(3px)}.welcome-dialog .eyebrow{font-size:12px;color:#b5d3ed;letter-spacing:1.4px}.welcome-dialog h2{font-size:30px;margin:0 0 14px}.welcome-dialog #welcome-copy{font-size:18px;line-height:1.6;color:#dce8f4;margin:0 0 24px}.welcome-actions{display:flex;flex-wrap:wrap;gap:10px}.welcome-actions button{font-size:16px;min-height:46px}.welcome-actions .primary{background:linear-gradient(145deg,#3d78b0,#25527f);border-color:#a3c3e0}.welcome-actions #welcome-tutorial{background:#eaf2fa;color:#183c63;border-color:#c4d6e7}
@media(max-width:600px){.welcome-dialog{padding:24px}.welcome-actions{flex-direction:column}.welcome-actions button{width:100%}}

/* Centered camera controls, independent of the side panels. */
.editor-active .toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;min-height:52px;background:transparent;border:0;backdrop-filter:none;pointer-events:none;margin:10px 14px 0;padding:0;gap:8px}
.editor-active .edit-controls{grid-column:1;display:flex;flex-wrap:wrap;gap:3px;justify-self:start;pointer-events:auto}.editor-active .edit-controls button{background:#123354e8;min-height:38px;font-size:13px;padding:4px 8px}.editor-active .view-controls{grid-column:2;display:flex;align-items:center;justify-content:center;gap:3px;padding:5px 8px;border:1px solid #8ca6c166;border-radius:12px;background:#123354e8;pointer-events:auto;white-space:nowrap}.editor-active .view-controls button{min-height:38px;font-size:15px;padding:5px 8px}.editor-active .view-controls output{color:#edf5ff;font-size:15px;min-width:46px;text-align:center}.editor-active .scene-controls{grid-column:3;justify-self:end;width:auto;margin:0;padding:0;border:0;pointer-events:auto}.editor-active .canvas-wrap{position:absolute;inset:0;z-index:0}.editor-active .toolbar{z-index:5}
@media(max-width:900px){.editor-active .toolbar{grid-template-columns:1fr;gap:6px;margin:6px 8px 0}.editor-active .view-controls{grid-column:1;grid-row:1;justify-self:center;max-width:100%;padding:3px 4px;gap:0}.editor-active .view-controls button{font-size:12px;min-height:34px;padding:4px 5px}.editor-active .view-controls output{font-size:13px;min-width:38px}.editor-active .scene-controls{grid-column:1;grid-row:2;justify-self:center}.editor-active .edit-controls{grid-column:1;grid-row:3;justify-self:start}.editor-active .edit-controls button{font-size:11px;min-height:28px;padding:3px 5px}.editor-active .rotation-tests{top:145px}.shape-gallery{top:154px}}

/* Compact shape chooser and two-sided editor. */
.face-controls{display:grid;grid-template-columns:1fr;gap:6px;padding:10px 16px;background:#0b1c34;border-bottom:1px solid #ffffff20}
.face-controls button{min-height:34px;background:linear-gradient(130deg,#1b385d,#102640);color:#fff;border:1px solid #617fa2}
.face-controls button[aria-pressed="true"]{background:linear-gradient(130deg,#31577f,#18395c);border-color:#cadced;box-shadow:inset 3px 0 #e1bd82}
#active-face-label{font-size:11px;text-align:center;color:#d4e1ef}
#shape-gallery-body{overflow:visible;max-height:none}.shape-gallery{max-height:none;overflow:visible;align-self:start}
#shape-buttons{overflow:visible;max-height:none;display:grid;grid-template-columns:1fr;gap:6px}
#shape-buttons button{min-height:70px}#shape-buttons svg{height:42px}#more-forms{margin:10px 0;font-size:12px;white-space:normal}
.library-dialog{background:linear-gradient(135deg,#142c4b,#09172c);color:#fff;border:1px solid #6987ab}
.library-dialog h2,.library-dialog p,.library-dialog label,.library-dialog strong,.library-dialog span{color:#fff}
.library-dialog input,.library-dialog select{background:#102640;color:#fff;border-color:#6c87a7}
#forms-grid button{background:linear-gradient(135deg,#203e62,#10243e);color:#fff;border:1px solid #607b9c;font-size:13px;line-height:1.35;overflow:visible;white-space:normal;min-height:115px;padding:10px}
#forms-grid button[aria-pressed="true"]{border-color:#e9c695;background:#2b4c70;box-shadow:0 0 0 2px #e9c69566}
#forms-grid svg path{fill:#dfbd85;stroke:#8a6138}#forms-grid svg{flex-shrink:0}
#project-caption{display:none}.dimension-text{paint-order:stroke;stroke:#fff2}
.swatch-christmas{background:#7b4b22 url('./christmas-background.jpg') center/cover}
.swatch-forest{background-image:url('./trees.svg'),url('./mountains.svg');background-position:center;background-size:cover;background-color:#b2c4ae}
body[data-background="christmas"] .forest-scene{background:#875328 url('./christmas-background.jpg') center/cover}
body[data-background="christmas"] .mountain-layer,body[data-background="christmas"] .tree-layer,body[data-background="christmas"] .forest-haze{display:none}
body[data-background="forest"] .mountain-layer,body[data-background="forest"] .tree-layer{filter:none}
#back-price-note{color:#f5d8a4;font-size:11px}
@media(max-width:900px){.face-controls{grid-template-columns:1fr 1fr}.face-controls span{grid-column:1/-1}#shape-buttons{grid-template-columns:repeat(3,1fr)}#shape-buttons button{min-height:62px}#more-forms{margin:5px 0}}

.editor-active .shape-gallery #shape-gallery-body{overflow:visible;max-height:none}
.editor-active #shape-buttons{overflow:visible;max-height:none}
.editor-active .face-controls button{font-size:15px;min-height:32px;padding:5px 9px}
@media(max-width:900px){.editor-active #shape-buttons{grid-template-columns:1fr}.editor-active #shape-buttons button{min-height:38px}.editor-active #shape-buttons svg{height:26px}.editor-active #more-forms{font-size:11px;padding:5px;min-height:34px}.editor-active .face-controls{padding:5px 10px;gap:3px}.editor-active .face-controls span{display:none}}

/* Focus scrolls only the inspector, never the complete 3D scene. */
.editor-active .editor-layout,.editor-active .editor-page,.editor-active .workspace{overflow:clip}

/* Three freely accessible creation stages. Project data is independent of these panels. */
.editor-active .editor-heading{height:58px;min-height:58px;padding:5px 18px;gap:12px}
.creation-steps{display:flex;gap:8px;align-items:center;min-width:0}
.editor-active .creation-steps button{font-size:16px;min-height:44px;padding:8px 16px;white-space:nowrap;border-color:transparent;background:transparent;color:#d6e2ef}
.editor-active .creation-steps button[aria-selected=true]{background:#274b70;color:#fff5db;border-color:#e2bc80;box-shadow:inset 0 -3px #e2bc80;font-weight:700}
.editor-active .tools{left:18px;top:76px;bottom:100px;width:300px}
.editor-active .inspector-heading{padding:11px 14px;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;justify-content:space-between;flex-shrink:0}
.editor-active .inspector-heading strong{font-size:17px}
.editor-active .inspector-heading span{font-size:12px}
.editor-active .inspector-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 12px;flex:1;scrollbar-width:thin}
.editor-active .tools section+section{border:0;padding:0;margin:0}
.tool-group{margin:0;border-bottom:1px solid #91abc737}
.tool-group>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;min-height:46px;gap:8px;font-size:16px;font-weight:600;color:#eef3fa;padding:9px 2px}
.tool-group>summary::-webkit-details-marker{display:none}
.tool-group>summary::after{content:'›';font-size:24px;line-height:1;transform:rotate(0deg)}
.tool-group[open]>summary::after{transform:rotate(90deg)}
.tool-group-content{padding:4px 0 12px}
.editor-active #shape-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.editor-active #shape-buttons button{display:flex;flex-direction:column;justify-content:center;gap:3px;min-width:0;min-height:78px;font-size:12px;padding:6px 3px;line-height:1.3}
.editor-active #shape-buttons svg{width:42px;height:32px}
.editor-active #more-forms{font-size:14px;min-height:40px;margin:8px 0 0}
.editor-active .dimensions{margin-top:0}
.editor-active .face-controls{padding:0;border:0;background:transparent;grid-template-columns:1fr 1fr;gap:6px}
.editor-active .face-controls #active-face-label{display:block;grid-column:1/-1}
.editor-active .face-controls button{min-height:40px;font-size:14px}
.editor-active .tools .small{font-size:13px}
.editor-active .tools label{font-size:14px}
.editor-active .tools input,.editor-active .tools select{font-size:17px;min-height:42px}
.editor-active #panel-ajouter{padding:0;margin:0}
.editor-active .icon-buttons button{font-size:14px;min-height:44px}
.editor-active .project-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;flex-shrink:0;padding:8px 12px}
.editor-active .project-actions p,.editor-active #autosave-state{font-size:11px}
.editor-active #scene-viewport{position:absolute;inset:76px 18px 140px 340px;min-width:0;min-height:0}
.editor-active #scene-viewport #canvas,.editor-active #scene-viewport #preview-3d{position:absolute;inset:0;width:100%;height:100%}
.editor-active .preview-modes{left:calc(50% + 160px);bottom:100px}
.editor-active .canvas-caption{left:calc(50% + 160px)}
.editor-active .status{left:340px;max-width:calc(100% - 750px)}
.editor-active #preview-help{left:340px;max-width:calc(100% - 750px)}
.editor-active .scale-credit{left:calc(50% + 160px);max-width:calc(100% - 360px)}
.creation-summary{font-size:15px;line-height:1.5;margin:14px 0}
.creation-summary dt{color:#b9cce0;font-size:12px;margin-top:13px}
.creation-summary dd{margin:2px 0;color:#fff5df;overflow-wrap:anywhere}
.editor-active #step-panel-finalize{padding-top:12px}
.editor-active #step-panel-finalize h2{display:block;font-size:19px}
#summary-check{font-size:13px;color:#e4eddc}#summary-check.error{color:#ffdbaf}
@media(max-width:900px){
 .editor-active .editor-heading{height:54px;min-height:54px;padding:4px 8px;gap:4px}
 .creation-steps{flex:1;justify-content:space-between;gap:3px}
 .editor-active .creation-steps button{font-size:13px;padding:6px 7px;min-height:44px}
 .editor-active .heading-actions button{font-size:12px;min-height:38px;padding:4px 6px}
 .editor-active .tools{left:8px;right:8px;top:auto;bottom:88px;width:auto;height:40%;min-height:150px;max-height:calc(100% - 190px)}
 .editor-active .inspector-heading{display:flex;padding:5px 12px;min-height:30px}
 .editor-active .inspector-heading strong{font-size:14px}
 .editor-active .inspector-heading span{font-size:11px}
 .editor-active .inspector-body{padding:0 12px 10px}
 .editor-active .project-actions p,.editor-active #autosave-state{display:none}
 .editor-active .project-actions button{font-size:13px;min-height:34px}
 .editor-active .project-actions{padding:4px 12px}
 .editor-active #scene-viewport{inset:126px 8px calc(40% + 132px) 8px}
 .editor-active .preview-modes{bottom:calc(40% + 94px);left:50%;max-width:95%}
 .editor-active .canvas-caption{display:none}
 .editor-active .scale-credit{bottom:calc(40% + 82px);left:50%;max-width:95%}
 .editor-active #shape-buttons button{flex-direction:row;min-height:44px;font-size:13px}
 .editor-active #shape-buttons svg{width:30px;height:25px}
 .editor-active .tools .fields{gap:8px}
 .editor-active .tools label{font-size:14px}
 .editor-active .tools input,.editor-active .tools select{font-size:16px}
 .tool-group>summary{min-height:44px;font-size:15px}
}
@media(max-width:380px){
 .editor-active .creation-steps button{font-size:12px;padding:6px 4px}
 .editor-active .heading-actions button{font-size:11px;padding:3px}
}
@media(max-height:650px) and (min-width:901px){
 .editor-active .tools{top:68px;bottom:82px}
 .editor-active #scene-viewport{inset:68px 18px 100px 340px}
 .editor-active .preview-modes{bottom:65px}
 .editor-active .project-actions p{display:none}
}
/* A short mobile viewport scrolls instead of collapsing the preview to zero. */
@media(max-width:900px) and (max-height:650px){
 body.editor-active{height:auto;min-height:100dvh;overflow:auto}
 .editor-active #main{height:auto}
 .editor-active .editor-page{height:auto;min-height:774px}
 .editor-active .editor-layout{min-height:720px;flex:none}
}

/* Lot B — quieter controls and readable dimensions. */
.editor-active .edit-controls #undo,.editor-active .edit-controls #redo{width:40px;min-height:40px;padding:0;font-size:30px;line-height:1}
.editor-active .dimension-text{fill:#10243b;stroke:#fff9e9;paint-order:stroke fill;stroke-linejoin:round;font-weight:600}
.editor-active #preview-help-disclosure{position:absolute;left:340px;bottom:58px;z-index:6;max-width:360px;font-size:13px;color:#eef5ff}
.editor-active #preview-help-disclosure summary{cursor:pointer;display:inline-block;padding:5px 9px;border-radius:8px;background:#123354e8}
.editor-active #preview-help-disclosure[open]{padding:10px;border-radius:10px;background:#123354f5}
.editor-active #preview-help-disclosure #preview-help{display:block;position:static;max-width:none;font-size:13px;margin:8px 0;text-shadow:none}
.editor-active #preview-help-disclosure p{margin:8px 0;font-size:13px}
@media(max-width:900px){.editor-active #preview-help-disclosure{left:auto;right:8px;bottom:calc(40% + 88px);max-width:calc(100% - 16px)}.editor-active #preview-help-disclosure summary{font-size:11px;padding:4px 7px}.editor-active .edit-controls #undo,.editor-active .edit-controls #redo{width:34px;min-height:30px;font-size:26px}}

/* Lot C1: keep the existing mark and readable type until the brand font is chosen. */
.header .brand-name{white-space:nowrap}.header .brand-mark{flex-shrink:0}
@media(max-width:900px){.header .brand,.editor-active .header .brand{font-size:clamp(16px,4.8vw,28px);letter-spacing:-.5px}.header .brand-mark,.editor-active .header .brand-mark{width:28px;height:30px;margin-right:6px}.header .brand-mark svg{width:28px;height:26px}}
.atelier-page{max-width:1200px;margin:auto}.atelier-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.atelier-tabs [aria-pressed="true"]{outline:2px solid var(--gold,#e7bb77)}.atelier-counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.atelier-counters .card{display:flex;flex-direction:column;gap:10px}.atelier-counters strong{font-size:2rem}.atelier-search{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:16px 0}.atelier-search label{flex:1;min-width:160px}.atelier-table-wrap{overflow:auto;margin:18px 0}.atelier-page table{border-collapse:collapse;width:100%;font-size:.9rem}.atelier-page th,.atelier-page td{text-align:left;padding:10px;border-bottom:1px solid #768da966;overflow-wrap:anywhere}.atelier-page summary{cursor:pointer;padding:10px 0}.atelier-page .button{display:inline-block;padding:10px}.atelier-page input,.atelier-page select{max-width:100%}.atelier-page .card button{margin:6px 8px 6px 0}
@media(max-width:600px){.atelier-page{padding:16px}.atelier-tabs button{flex:1 1 40%}.atelier-page th,.atelier-page td{padding:8px}.atelier-page .fields{display:block}}
@media print{body.printing-atelier{background:white!important;color:black!important}body.printing-atelier .header,body.printing-atelier footer,body.printing-atelier dialog,body.printing-atelier .page:not(#atelier),body.printing-atelier #atelier>p,body.printing-atelier #atelier>h1,body.printing-atelier #atelier-status,body.printing-atelier #atelier-content>.notice,body.printing-atelier .atelier-tabs,body.printing-atelier #atelier-orders>h2,body.printing-atelier #atelier-orders>form,body.printing-atelier #atelier-orders>a,body.printing-atelier #atelier-order-list,body.printing-atelier #atelier-order-detail button,body.printing-atelier #atelier-order-detail form{display:none!important}body.printing-atelier #atelier-order-detail{display:block!important;background:white!important;color:black!important;border:0;box-shadow:none}body.printing-atelier #atelier-order-detail .notice{color:black;background:white}}
@media print{body.printing-atelier #atelier-content>details{display:none!important}}

/* Editor interaction lot, 19 October. Physical project/export data is unchanged. */
.selection-actions{display:flex;flex-wrap:wrap;gap:5px}.selection-actions button{padding:6px 9px;font-size:13px}.selection-toolbar .small{font-size:12px;margin:8px 0}.selection-toolbar summary{cursor:pointer;font-size:13px}.selection-toolbar #selection-count{display:block;color:#8e4326;font-size:13px;margin:6px 0}.on-plate-text{position:fixed;z-index:1000;width:260px;font-size:20px;background:#fff9ed;border:2px solid #a75a33;box-shadow:0 6px 24px #35251c55;margin:0}.step-navigation{display:flex;justify-content:space-between;gap:8px;padding:8px 0}.step-navigation button{flex:1;font-size:14px}.trial-handle{display:flex;align-items:center;gap:5px;margin:0;font-size:12px!important}.trial-handle input{width:16px;min-height:16px;margin:0}#proportions-lock{font-size:13px;margin:4px 0 10px;width:100%}#canvas .handle-square,#plate-handles .handle-square{fill:url(#handle-crystal);stroke:#fff2d4;stroke-width:.22;filter:drop-shadow(0 .3px .3px #74241688)}#selection>g>rect{stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:4 3}#export-test-svg[aria-busy=true]::before{content:'';width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:export-spin .8s linear infinite}@keyframes export-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#export-test-svg[aria-busy=true]::before{animation:none}}
.selection-commands,.arrangement-commands{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.selection-commands button,.arrangement-commands button{font-size:12px;padding:6px 9px}.arrangement-commands button{flex:1 1 45%}#panel-objet>p.small{font-size:12px}#selection-count{color:#8e4326}

.operation-controls{margin:12px 0}.operation-controls legend{font-size:13px;font-weight:700}.operation-controls button{font-size:13px;width:48%}.operation-controls button[aria-pressed=true],#font-specimens button[aria-pressed=true]{border-color:#a75a33;background:#fff0d8}#font-specimens{display:flex;gap:5px;margin:8px 0}#font-specimens button{flex:1;min-width:0;padding:8px}#font-specimens svg{width:100%;height:26px;fill:#4c321d}#font-cut-note{font-size:12px}

.editor-active #scene-viewport>.preview-modes{position:absolute;left:50%;bottom:8px;top:auto;transform:translateX(-50%);z-index:6;max-width:96%;margin:0}.editor-active #selection-count{color:#f0cd9b}.on-plate-text{color:#35291f!important}.editor-active .selection-commands button,.editor-active .arrangement-commands button{font-size:12px}


/* Cart previews reuse the editor renderer; none of these gestures edits a project. */
.basket-item>.basket-preview-slot{flex:0 0 260px;max-width:100%;min-width:0}.basket-preview{margin:0}.basket-preview-canvas{display:block;width:100%;height:210px;touch-action:none;cursor:grab;background:radial-gradient(ellipse,#f2e7d5,#d9d5ce);border-radius:10px;border:1px solid #ab9d86}.basket-preview-canvas:focus-visible{outline:3px solid #e7bb77;outline-offset:3px}.basket-preview-controls{display:flex;gap:4px;justify-content:center;margin:7px 0}.basket-item .basket-preview-controls button{font-size:13px;padding:5px 8px;min-height:38px}.basket-preview figcaption{font-size:12px;color:#c5d3df;text-align:center;line-height:1.4}.basket-item{align-items:flex-start}.basket-item>div:not(.basket-preview-slot){min-width:180px;overflow-wrap:anywhere}@media(max-width:640px){.basket-item>.basket-preview-slot{flex:1 1 100%}.basket-preview-canvas{height:230px}.basket-item>button{flex:1;min-height:44px}.basket-item>div:not(.basket-preview-slot){flex:1 1 100%}}

/* Object inspector: a single live form follows the selected object. */
.object-list{display:block}.object-accordion{border:1px solid #7891a455;border-radius:8px;margin:8px 0;overflow:hidden}.object-accordion h3{margin:0;font-size:inherit}.object-accordion h3>button{width:100%;border:0;border-radius:0;justify-content:space-between!important;text-align:left}.object-accordion h3>button::after{content:'▸'}.object-accordion h3>button[aria-expanded=true]::after{content:'▾'}.object-accordion [role=region]{padding:10px}.object-context-actions{display:flex;gap:6px;margin:8px 0 14px}.object-context-actions button{flex:1;font-size:13px!important}.editor-active #icon-dimensions,#icon-dimensions{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);align-items:end;gap:5px}#icon-dimensions #proportions-lock{width:32px;min-height:44px;margin:0 0 12px;padding:3px;font-size:16px}.object-accordion input{min-width:0}.object-accordion label{font-size:13px}#common-object-actions{margin:10px 0}#common-object-actions>summary{font-size:13px;cursor:pointer}#common-object-actions>button{font-size:13px}.editor-active .object-accordion h3>button[aria-expanded=true]{background:#244f78;border-bottom:1px solid #a3bad2}

.face-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 0 10px}.face-controls button{font-size:13px;min-height:36px;padding:6px}.face-controls [aria-pressed=true]{background:#244f78!important;border-color:#efd2a4!important;box-shadow:inset 0 -2px #efd2a4}.basic-engraving-shapes{display:flex;gap:6px;margin:8px 0}.basic-engraving-shapes button{flex:1;font-size:13px}.new-text-form{border-top:1px solid #7891a444;margin-top:12px;padding-top:10px}.new-text-form>label{font-weight:600;margin:0 0 5px}.new-text-form>div{display:flex;gap:5px}.new-text-form input{flex:1;min-width:0;margin:0}.new-text-form button{width:36px;min-height:36px;padding:3px;font-size:20px}#add-shapes>summary{cursor:pointer;font-size:14px;font-weight:600}.editor-active .new-text-form input{font-size:14px}#add-text{width:36px}#group-add .tool-group-content{padding-top:8px}

/* Accueil compact — 20 octobre. Visual-only controls; fabrication unchanged. */
#canvas .handle-square{fill:#1976e8;stroke:#dceeff}#plate-handles .handle-square{fill:#e32d2d;stroke:#ffcfbf}
#canvas .object.outside,#canvas .cut-object.outside{fill:#e32626;opacity:1;stroke:#e32626}
.editor-active #scene-viewport,.editor-active #canvas-wrap{border:0;outline:0;box-shadow:none}
.background-settings{position:absolute;right:0;top:calc(100% + 6px);width:230px;padding:12px;background:#0b2543;border:1px solid #8ca6c1;border-radius:10px;box-shadow:0 10px 24px #0004}
.background-settings label{font-size:13px;margin:0 0 10px;color:#eef5ff}.background-settings select{font-size:13px;width:100%;min-height:36px;padding:6px}.background-settings .setting-check{display:flex;align-items:center;gap:8px}.setting-check input{width:18px;min-height:18px;margin:0}.background-settings label:last-child{margin-bottom:0}
.heading-actions{display:flex;align-items:center;gap:7px}#help-gestures{font-size:14px;margin:16px 0}#help-gestures p{font-size:14px;color:inherit}
@media(max-width:760px){.editor-active .scene-controls{width:auto;margin-left:auto}.background-settings{right:0;width:210px}.heading-actions button{font-size:12px}}

#help-gestures #preview-help{display:block;position:static;max-width:none;margin:10px 0;font-size:14px;color:inherit;text-shadow:none}
.editor-active #preview-3d:focus-visible,.editor-active #canvas:focus-visible{outline:0}.editor-active #scene-viewport:has(:focus-visible)>.preview-modes{outline:2px solid #adcdf1;outline-offset:2px}


/* Logo LL original transparent ; typographie historique conservée. */
.header .brand-mark{background:transparent;border-radius:0}
.header .brand-mark .brand-logo-mark{display:block;width:100%;height:100%;object-fit:contain}

/* Agrandissement du dessin LL uniquement, sans modifier la hauteur de l’en-tête. */
.header .brand-mark,.editor-active .header .brand-mark{width:80px;height:80px;margin-top:-20px;margin-bottom:-20px}
@media(max-width:900px){.header .brand-mark,.editor-active .header .brand-mark{width:56px;height:60px;margin-top:-15px;margin-bottom:-15px}}


/* Réglages latéraux et respiration du logo — 21 octobre. */
:root{--header-h:104px}
.header,.editor-active .header{min-height:var(--header-h);height:var(--header-h);padding-top:12px;padding-bottom:12px}
.header .brand-mark,.editor-active .header .brand-mark{margin-top:0;margin-bottom:0}
.editor-active .settings-panel{position:absolute;z-index:5;top:76px;right:18px;width:300px;max-height:calc(100% - 176px);border:1px solid #6c8caf50;border-radius:14px;overflow:auto;backdrop-filter:blur(13px)}
.settings-panel .background-picker{font-size:16px;position:static}
.settings-panel .background-picker>summary{padding:11px 14px;min-height:46px;border:0;border-radius:0;background:transparent;font-size:17px;font-weight:700;justify-content:space-between}
.settings-panel .background-picker:not([open])>summary::after{content:'▸'}
.settings-panel .background-settings{position:static;width:auto;padding:4px 12px 12px;border:0;background:transparent;box-shadow:none;border-radius:0}
.editor-active .settings-panel label{font-size:14px;margin-bottom:12px}
.editor-active .settings-panel select{font-size:17px;min-height:42px;margin-top:5px}
.editor-active .settings-panel .setting-check input{width:18px;min-height:18px;height:18px;margin:0;flex-shrink:0}
.editor-active #scene-viewport{right:340px}
@media(max-height:650px) and (min-width:901px){.editor-active .settings-panel{top:68px}}
@media(max-width:1150px) and (min-width:901px){.editor-active .tools,.editor-active .settings-panel{width:260px}.editor-active #scene-viewport{left:298px;right:298px}}
@media(max-width:900px){:root{--header-h:84px}.header,.editor-active .header{padding-top:12px;padding-bottom:12px}.editor-active .settings-panel{top:68px;right:8px;width:min(210px,48vw);max-height:calc(60% - 100px)}.editor-active #scene-viewport{right:8px}.settings-panel .background-picker>summary{font-size:14px;min-height:36px;padding:7px 10px}.editor-active .settings-panel label{font-size:13px}.editor-active .settings-panel select{font-size:14px;min-height:36px}}


/* Finition Mon objet : commandes indépendantes et aide légère. */
.settings-panel .background-picker>summary{border-bottom:1px solid #7a96b740}
#plate-handles .handle-square{fill:#2ecc71;opacity:.2;stroke:#a5ffd0}
.ambience-audio{border-top:1px solid #7a96b740;padding-top:10px;margin-top:8px}.ambience-audio button{font-size:14px;min-height:38px;padding:5px 9px}.ambience-audio .small{font-size:12px;margin:7px 0}.ambience-audio a{color:#d6e7ff}
#scale-options{margin:0 0 12px 26px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.laser-wait{color:#e4c28e}.laser-arm{transform-origin:101px 72px;animation:laser-arm 1.8s ease-in-out infinite}.laser-beam{animation:laser-glow 1.8s ease-in-out infinite}.laser-sparks{animation:laser-glow .6s steps(2,end) infinite}
@keyframes laser-arm{50%{transform:rotate(4deg)}}@keyframes laser-glow{0%,100%{opacity:.2}50%{opacity:1}}
#tutorial[open]{position:fixed;inset:auto 18px 100px auto;margin:0;width:min(370px,calc(100vw - 24px));max-height:60dvh;overflow:auto;z-index:1002;padding:18px;border:1px solid #9db4c7;background:#102e4b;color:#f5edda}#tutorial h2{font-size:20px}#tutorial p,#tutorial details,#tutorial button{font-size:14px}#tutorial .tutorial-actions{margin-top:14px;gap:5px}#tutorial .tutorial-actions button{padding:6px 9px}#tutorial #help-gestures p{color:inherit}
.tutorial-target{outline:2px solid #ffe2a3!important;outline-offset:4px}.tutorial-cursor{position:fixed;z-index:1001;pointer-events:none;width:22px;height:28px;background:#fff7d7;clip-path:polygon(0 0,90% 65%,55% 65%,74% 100%,53% 100%,34% 69%,5% 92%);filter:drop-shadow(0 1px 2px #000);animation:tutorial-point 1.8s ease-in-out infinite}.tutorial-cursor[data-gesture=drag]{animation:tutorial-drag 2.4s ease-in-out infinite}.tutorial-cursor[data-gesture=rotate]{animation:tutorial-rotate 2.4s ease-in-out infinite}
@keyframes tutorial-point{50%{transform:translate(0,7px)}}@keyframes tutorial-drag{50%{transform:translate(-24px,18px)}}@keyframes tutorial-rotate{50%{transform:translate(38px,-12px)}}
@media(max-width:900px){#tutorial[open]{right:8px;bottom:88px;max-height:45dvh;padding:14px}.editor-active .settings-panel{max-height:calc(60% - 100px)}}
@media(prefers-reduced-motion:reduce){.laser-arm,.laser-beam,.laser-sparks,.tutorial-cursor{animation:none!important}}


/* Personnaliser : commandes fixes, réglages compacts, vue interactive unique. */
.editor-active .tools>.face-controls{flex-shrink:0;padding:0 12px 10px;margin:0;border-bottom:1px solid #7a96b740}
#add-shapes>h3{font-size:15px;margin:0 0 8px}.basic-engraving-shapes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.basic-engraving-shapes button{display:flex;flex-direction:column;gap:4px;min-width:0;min-height:62px;background:linear-gradient(140deg,#e7c797,#d8b37e);color:#553c26;border-color:#b99564}.basic-engraving-shapes svg{width:30px;height:28px;fill:#86603b}
#other-engraving-shapes{width:100%;font-size:13px;min-height:38px}.motif-tile{background:linear-gradient(140deg,#e7c797,#d8b37e)!important;color:#553c26!important}.motif-tile svg{fill:#86603b!important}
#tone-label{padding:0;margin:12px 0}#tone-label legend{font-size:13px;font-weight:600;margin-bottom:6px}.tone-options{display:flex;gap:5px}.tone-options label{display:flex;align-items:center;justify-content:center;flex:1;gap:4px;font-size:13px!important;margin:0;padding:7px 3px;border:1px solid #7891a4;border-radius:6px;cursor:pointer}.tone-options label:has(:checked){background:#305b7a;border-color:#f0cc99}.tone-options input{appearance:auto;width:15px;height:15px;min-height:15px!important;flex:0 0 15px;margin:0}
#properties .fields:has(#center){grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}#center,#center-x,#center-y{font-size:11px!important;min-height:32px;padding:4px}#delete{grid-column:1/-1;font-size:13px!important;min-height:36px}.editor-active .project-actions #save{font-size:12px}
.editor-active .status:empty{display:none}#scene-viewport>.preview-modes{display:none!important}
