:root{--bg:#f3eee6;--paper:#fffdf9;--ink:#2a2520;--muted:#7b7064;--line:#e4dacb;--accent:#c8734f;--accent-soft:#f4dfd3;--ok:#4f7a52;--warn:#b7791f;--danger:#c0392b;--radius:14px;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.45}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}input{font:inherit;color:inherit}h1,h2,h3{margin:0;line-height:1.15}h1{font-family:var(--serif);letter-spacing:-.01em;font-size:2rem;font-weight:600}h2{font-family:var(--serif);font-size:1.45rem;font-weight:600}h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:.78rem;font-weight:600}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.85rem}.topbar{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffdf9eb;justify-content:space-between;align-items:center;gap:16px;height:58px;padding:0 18px;display:flex;position:sticky;top:0}.brand{font-family:var(--serif);white-space:nowrap;align-items:center;gap:10px;font-size:1.2rem;font-weight:600;display:flex}.brand svg{width:38px}.brand em{color:var(--muted);font-style:normal;font-weight:400}.tabs{gap:4px;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:8px 14px;font-weight:500}.tabs button.on{background:var(--ink);color:var(--paper)}.btn{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:8px 14px;font-weight:500}.btn:hover{border-color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:var(--danger)}.btn.small{padding:6px 10px;font-size:.85rem}.link{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.seg{background:#ece5da;border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg.wrap{flex-wrap:wrap}.seg button{white-space:nowrap;background:0 0;border:0;border-radius:8px;padding:6px 11px;font-size:.88rem}.seg button.on{background:var(--paper);font-weight:600;box-shadow:0 1px 3px #0000001f}.chip{border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:3px 10px;font-size:.8rem}.chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.badge{background:var(--accent-soft);border-radius:999px;align-items:center;gap:8px;padding:4px 10px;font-size:.8rem;display:inline-flex}.badge.danger{color:var(--danger);background:#f8d7d3}.swatches{display:inline-flex}.swatches span{border:2px solid var(--paper);border-radius:50%;width:18px;height:18px;margin-left:-5px;box-shadow:0 0 0 1px #00000014}.gallery{max-width:1320px;margin:0 auto;padding:28px 20px 60px}.intro{max-width:780px;margin-bottom:24px}.intro p{color:var(--muted);font-size:1.02rem}.cards{grid-template-columns:repeat(auto-fill,minmax(560px,1fr));gap:22px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:14px;padding:20px;display:flex}.card.is-current{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.card header{justify-content:space-between;gap:12px;display:flex}.accroche{color:var(--muted);margin:4px 0 0}.plan-btn{background:#f1ebe1;border:0;border-radius:12px;justify-content:center;padding:6px;display:flex;overflow:hidden}.preset .plan-svg{width:auto;max-width:100%;height:270px}.plan-btn:hover .plan-svg{outline:2px solid var(--accent)}.plan-svg{background:#f1ebe1;border-radius:12px;width:100%;height:auto;display:block}.plan-zone{letter-spacing:.15em;fill:#8d8172;font-size:7px;font-weight:600}.plan-label{fill:#1f1b17;paint-order:stroke;stroke:#fffdf9d9;stroke-width:2px;font-weight:600}.plan-dim{font-weight:400}.plan-cotes line{stroke:#6b5f52;stroke-width:.6px}.plan-cotes text{fill:#6b5f52;font-size:5.5px}.plan-cotes .plan-door{fill:var(--accent)}.stats{grid-template-columns:repeat(5,1fr);gap:8px;margin:0;display:grid}.stats div{background:#f6f1e9;border-radius:10px;padding:8px 10px}.stats dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem}.stats dd{margin:2px 0 0;font-size:1.05rem;font-weight:700}.pitch{margin:0}.proscons{grid-template-columns:1fr 1fr;gap:14px;display:grid}.proscons ul{margin:0;padding:0;font-size:.9rem;list-style:none}.proscons li{margin-bottom:4px;padding-left:20px;position:relative}.plus li:before{content:"+";color:var(--ok);font-weight:800;position:absolute;left:2px}.moins li:before{content:"−";color:var(--danger);font-weight:800;position:absolute;left:2px}.style-line{color:var(--muted);margin:0;font-size:.88rem}.card footer{flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto;display:flex}.editor{grid-template-columns:270px 1fr 330px;height:calc(100vh - 58px);display:grid}.panel{background:var(--paper);flex-direction:column;gap:20px;padding:16px;display:flex;overflow-y:auto}.panel.left{border-right:1px solid var(--line)}.panel.right{border-left:1px solid var(--line)}.panel details summary{cursor:pointer;margin-bottom:8px;font-weight:600}.styles{gap:6px;display:grid}.style-pick{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:10px;align-items:center;gap:12px;padding:7px 10px 7px 14px;font-size:.9rem;display:flex}.style-pick.on{border-color:var(--accent);background:var(--accent-soft);font-weight:600}.mod-list{gap:4px;margin:0 0 10px;padding:0;list-style:none;display:grid}.mod-list button{text-align:left;background:#f6f1e9;border:1px solid #0000;border-radius:8px;justify-content:space-between;width:100%;padding:7px 10px;display:flex}.mod-list button.on{border-color:var(--accent);background:var(--accent-soft)}.mod-list small{color:var(--muted)}.add-grid{flex-wrap:wrap;gap:6px;display:flex}.stage{background:#efe8dc;min-height:0;position:relative}.scene,.scene canvas{position:absolute;inset:0}.toolbar{pointer-events:none;flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex;position:absolute;top:12px;left:12px;right:12px}.toolbar .seg{pointer-events:auto;background:#fffdf9eb;box-shadow:0 2px 10px #00000014}.toolbar .seg button.on{background:var(--ink);color:var(--paper)}.hint{color:#fff;white-space:nowrap;pointer-events:none;text-overflow:ellipsis;background:#2a2520bf;border-radius:999px;max-width:96%;margin:0;padding:6px 12px;font-size:.8rem;position:absolute;bottom:10px;left:50%;overflow:hidden;transform:translate(-50%)}.visit-overlay{color:#fff;background:#1e1a1673;border:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.visit-overlay strong{font-family:var(--serif);font-size:1.8rem}.dim-label{color:#fff;white-space:nowrap;background:#2a2520e0;border-radius:999px;padding:3px 9px;font-size:12px}.inspector{flex-direction:column;gap:12px;display:flex}.insp-head{flex-direction:column;gap:2px;display:flex}.insp-head .name{font-family:var(--serif);border:0;border-bottom:1px dashed var(--line);background:0 0;padding:2px 0;font-size:1.35rem;font-weight:600}.insp-head .kind{color:var(--muted);font-size:.8rem}.num{grid-template-columns:1fr auto;align-items:center;gap:2px 10px;display:grid}.num .num-label{grid-column:1/-1}.num.compact{grid-template-columns:1fr auto}.num.compact .num-label{grid-column:1}.num-label{color:var(--muted);font-size:.82rem}.num input[type=range]{width:100%;accent-color:var(--accent)}.num-box{color:var(--muted);align-items:center;gap:4px;font-size:.82rem;display:inline-flex}.num-box input{border:1px solid var(--line);text-align:right;width:64px;color:var(--ink);background:#fff;border-radius:7px;padding:4px 6px}.field{flex-direction:column;gap:4px;display:flex}.field .seg{flex-wrap:wrap}.toggle{cursor:pointer;align-items:center;gap:10px;font-size:.92rem;display:flex}.toggle input{opacity:0;position:absolute}.toggle .track{background:#d9cfc1;border-radius:999px;flex:none;width:36px;height:21px;transition:background .15s;position:relative}.toggle .track:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track:after{transform:translate(15px)}.toggle small{color:var(--muted);font-size:.78rem;display:block}.insp-actions{gap:8px;display:flex}.checks ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.checks li{cursor:pointer;border-left:3px solid;border-radius:8px;padding:7px 10px;font-size:.86rem}.checks li.erreur{border-color:var(--danger);background:#fbe4e1}.checks li.attention{border-color:var(--warn);background:#fbf0dc}.checks .ok{color:var(--ok);margin:0;font-size:.9rem}.budget{background:#f6f1e9;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.budget div{flex-direction:column;display:flex}.budget strong{font-size:1.4rem;font-family:var(--serif)}.shopping,.plans{max-width:1120px;margin:0 auto;padding:28px 20px 60px}.shop-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;display:flex}.shop-head p{margin:6px 0 0}.shop-total{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:flex-end;padding:10px 16px;display:flex}.shop-total strong{font-family:var(--serif);font-size:2rem;line-height:1.1}.shop-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.warnings{background:#fbf0dc;border-radius:12px;padding:10px 14px 10px 30px;font-size:.9rem}.shop-cat{margin-top:26px}.shop-cat h2{border-bottom:2px solid var(--ink);justify-content:space-between;align-items:baseline;margin-bottom:4px;padding-bottom:6px;display:flex}.shop-cat h2 span{font-family:var(--sans);color:var(--muted);font-size:1rem}.line{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr 150px 180px;align-items:start;gap:12px;padding:12px 4px;display:grid}.line.excluded{opacity:.45}.line.bought .name{color:var(--muted);text-decoration:line-through}.line .check input{width:20px;height:20px;accent-color:var(--ok);margin-top:2px}.line .name{font-weight:600}.line .qty{text-align:center;background:var(--ink);min-width:26px;color:var(--paper);border-radius:6px;margin-right:2px;padding:0 6px;display:inline-block}.line .alt{color:var(--muted);font-size:.82rem;font-style:italic}.line .spec{margin-top:2px;font-size:.86rem}.tags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.tag{background:#efe8dc;border-radius:6px;padding:1px 7px;font-size:.72rem}.tag.warn{color:var(--danger);background:#fbe4e1}.tag.unit{background:#e6efe4}.note{color:var(--muted);margin:5px 0 0;font-size:.8rem}.price{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.price input{border:1px solid var(--line);text-align:right;background:#fff;border-radius:7px;width:74px;padding:3px 6px}.price label{color:var(--muted);font-size:.82rem}.where{text-align:right;flex-direction:column;align-items:flex-end;gap:6px;font-size:.86rem;display:flex}.shop-foot{background:var(--ink);color:var(--paper);border-radius:14px;justify-content:space-between;align-items:baseline;margin-top:24px;padding:14px 16px;display:flex}.shop-foot strong{font-family:var(--serif);font-size:1.8rem}.plans section{flex-direction:column;gap:12px;margin-top:30px;display:flex}.plans .plan-svg{max-width:900px}.table{border-collapse:collapse;background:var(--paper);border-radius:12px;width:100%;font-size:.9rem;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);padding:7px 10px}.table th{text-transform:uppercase;letter-spacing:.05em;background:#efe8dc;font-size:.78rem}.table tr.group td{background:#f6f1e9;font-weight:700}.debit td:nth-child(n+2):nth-child(-n+5){font-variant-numeric:tabular-nums}.sheets{gap:18px;display:grid}.sheet{background:var(--paper);border:1px solid var(--line);border-radius:12px;margin:0;padding:12px}.sheet figcaption{margin-bottom:8px;font-weight:600}.sheet svg{width:100%;height:auto}.sheet-bg{fill:#ece2d0;stroke:#8d8172;stroke-width:.5px}.sheet-piece{fill:#f8efdd;stroke:#6b5f52;stroke-width:.4px}.sheet-piece.now{fill:var(--accent-soft);stroke:var(--accent)}.sheet-piece.later{stroke:#b9ad9d}.sheet-piece.done{fill:none;stroke:#b9ad9d;stroke-dasharray:1.5 1}.sheet text{fill:#2a2520}.sheet text.dim{fill:#7b7064}.bars{gap:8px;display:grid}.bar{grid-template-columns:230px 1fr;align-items:center;gap:4px 12px;display:grid}.bar svg{width:100%;height:16px}.bar-bg{fill:#ece2d0}.bar-cut{fill:#d9b17a;stroke:#6b5f52;stroke-width:.6px}.bar-cut.now{fill:var(--accent-soft);stroke:var(--accent)}.bar-cut.later{fill:#f3e6cf;stroke:#b9ad9d}.bar-cut.done{fill:none;stroke:#b9ad9d;stroke-dasharray:2 1.5}.bar-name{font-size:.85rem;font-weight:600}.bar-list{color:var(--muted);grid-column:2;font-size:.8rem}.conseils{gap:8px;padding-left:22px;display:grid}@media (width<=1000px){.cards{grid-template-columns:1fr}.stats{grid-template-columns:repeat(3,1fr)}.app>.topbar{flex-wrap:wrap;gap:6px 10px;height:auto;min-height:52px;padding:6px 12px}.app>.topbar .tabs{display:none}.app>.topbar .brand{flex:140px;min-width:0;font-size:1.05rem}.app>.topbar .brand span{text-overflow:ellipsis;overflow:hidden}.app>.topbar .topbar-end{gap:8px;margin-left:auto}.app{padding-bottom:calc(56px + env(safe-area-inset-bottom))}.app.tab-editeur{flex-direction:column;height:100dvh;display:flex;overflow:clip}body:has(.app.tab-editeur){overscroll-behavior:none}input,select,textarea{font-size:16px}}@media (width<=640px){.topbar{gap:6px;height:auto;padding:8px 10px}.app>.topbar .brand svg{display:none}.plans{padding:18px 14px 40px}.positions,.positions tbody{display:block}.positions thead{display:none}.positions tr{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 12px;padding:10px 2px;display:grid}.positions td{border:0;padding:0}.positions td:first-child{font-weight:600}.positions td:nth-child(2){text-align:right;white-space:nowrap}.positions td:nth-child(n+3){color:var(--muted);grid-column:1/-1;font-size:.85rem}.brand span em{display:none}h1{font-size:1.6rem}.proscons{grid-template-columns:1fr}.shop-head{flex-direction:column}.shop-total{align-items:flex-start;width:100%}.line{grid-template-columns:30px 1fr}.line .price,.line .where{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center}.bar{grid-template-columns:1fr}.bar-list{grid-column:1}}@media print{@page{margin:12mm}html,body,#root{background:#fff;font-size:11px}.no-print,.topbar,.chip,.price input{display:none!important}.shopping,.plans{max-width:none;padding:0}.line{break-inside:avoid;grid-template-columns:22px 1fr 90px 130px;padding:5px 0}.note{display:none}.break{break-before:page}.sheet,.shop-cat h2{break-inside:avoid}}.verify{color:var(--danger);white-space:nowrap;background:#f8d7d3;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.7rem}.van-select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:7px;margin-bottom:6px;padding:5px 6px}.site{flex-direction:column;min-height:100vh;display:flex}.site-top .brand{color:inherit;text-decoration:none}.site-nav{align-items:center;gap:14px;display:flex}.site-nav a{color:var(--muted);font-weight:500;text-decoration:none}.site-nav a.active{color:var(--ink)}.site-main{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:28px 20px 48px}.site-main.narrow{max-width:760px}.site-footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:center;gap:18px;padding:18px;font-size:.85rem;display:flex}.site-footer a{color:var(--muted)}.page-loading,.page-error{text-align:center;padding:40px 20px}.form-error{color:var(--danger);margin:8px 0}.btn.big{border-radius:12px;padding:12px 20px;font-size:1rem}a.btn{color:inherit;text-decoration:none;display:inline-block}a.btn.primary{color:#fff}.row-actions{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.text-input,.dev-login input{border:1px solid var(--line);background:var(--paper);border-radius:10px;width:100%;padding:10px 12px;font-size:1rem}.hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:36px;padding:20px 0 36px;display:grid}.hero h1{font-size:2.6rem}.hero-pitch{color:var(--muted);margin:14px 0 22px;font-size:1.12rem}.hero-shot{border:1px solid var(--line);border-radius:18px;width:100%;height:auto;box-shadow:0 18px 40px #3c281424}.signin{margin-bottom:12px}.btn.google{border-color:#cfc5b6;border-radius:12px;align-items:center;gap:12px;padding:12px 20px;font-size:1rem;display:inline-flex}.btn.google svg{width:20px;height:20px}.dev-login{border:1px dashed var(--line);border-radius:12px;gap:8px;max-width:340px;margin:14px 0;padding:12px;font-size:.85rem;display:grid}.steps ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:16px 0 0;padding:0;list-style:none;display:grid}.steps li{background:var(--paper);border:1px solid var(--line);border-radius:16px;gap:14px;padding:18px;display:flex}.steps p{color:var(--muted);margin:4px 0 0}.step-n{background:var(--accent);color:#fff;width:32px;height:32px;font-family:var(--serif);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-head p{margin:6px 0 0}.empty{text-align:center;background:var(--paper);border:1px dashed var(--line);border-radius:16px;padding:28px}.van-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.van-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex}.van-card-main{color:inherit;flex-direction:column;gap:2px;min-width:0;text-decoration:none;display:flex}.van-card-main strong{font-family:var(--serif);font-size:1.2rem}.van-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.wizard h2{margin:8px 0 12px}.wizard h3{margin-top:20px}.wizard-head{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:14px;display:flex}.wizard-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 8px;display:flex}.choice-list,.variant-list{gap:12px;display:grid}.choice,.pick,.variant-card{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:16px;align-items:flex-start;gap:14px;padding:16px;display:flex}.choice:hover,.pick:hover,.variant-card:hover{border-color:var(--ink)}.choice.recommended{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.choice>span:last-child,.pick,.variant-card{flex-direction:column;gap:4px}.choice>span:last-child{display:flex}.choice strong{align-items:center;gap:8px;font-size:1.05rem;display:flex}.choice-icon{font-size:1.6rem;line-height:1}.pick-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.variant-name{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.photo-slots{gap:12px;margin:14px 0;display:grid}.photo-slot{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px}.photo-slot:first-child{border-color:var(--accent)}.photo-slot.locked{opacity:.55}.photo-slot-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.photo-take{display:inline-block;position:relative;overflow:hidden}.photo-take input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo-take[aria-disabled=true]{opacity:.5;pointer-events:none}.photo-thumb{align-items:flex-end;gap:12px;display:flex}.photo-thumb img{border-radius:10px;width:160px;max-width:60%}.family-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:12px;padding:16px;display:flex}.family-card>strong{font-family:var(--serif);font-size:1.3rem}.family-card .btn{margin-top:8px}.reason{margin:8px 0 0}.reason-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;display:block}.tape-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.tape-diagram{background:var(--paper);border:1px solid var(--line);border-radius:16px;width:100%;position:sticky;top:70px}.tape-wall{fill:#f6efe4;stroke:var(--ink);stroke-width:2px}.tape-arch{fill:#d9cfc1;stroke:var(--muted)}.tape-door{stroke:var(--accent);stroke-width:5px}.tape-door-open{fill:var(--accent-soft);stroke:var(--accent);stroke-dasharray:4 3}.tape-dim line{stroke:var(--accent);stroke-width:1.3px}.tape-diagram marker path{fill:var(--accent)}.tape-dim text{fill:var(--accent);text-anchor:middle;font-size:13px;font-weight:700}.tape-title{fill:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:600}.tape-side{fill:var(--muted);font-size:10px}.tape-fields,.check-fields{gap:10px;display:grid}.check-fields{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px}.num.invalid input{border-color:var(--danger)}.wizard .toggle{margin:16px 0}.wizard .field{margin-top:8px}.settings-block{background:var(--paper);border:1px solid var(--line);border-radius:16px;margin-top:16px;padding:16px 18px}.settings-block p{margin:8px 0 0}.legal h2{margin:24px 0 8px;font-size:1.2rem}.legal p{margin:4px 0}.topbar-end{align-items:center;gap:12px;display:flex}.topbar-end .btn{white-space:nowrap}.back-link{color:var(--muted);font-family:var(--sans);font-size:1.2rem;text-decoration:none}.save-status{color:var(--muted);white-space:nowrap;gap:6px;font-size:.8rem;display:inline-flex}.save-status.saved:before{content:"✓";color:var(--ok)}.save-status.error{color:var(--danger)}.lang-switch button{padding:4px 8px;font-size:.78rem}@media (width<=900px){.hero,.steps ol,.tape-layout{grid-template-columns:1fr}.tape-diagram{position:static}}@media (width<=640px){.site-top{flex-flow:wrap;align-items:center}.site-nav{gap:10px;font-size:.9rem}.site-main{padding:18px 14px 36px}.hero h1{font-size:2rem}.page-head{flex-direction:column}.van-card{flex-direction:column;align-items:stretch}.van-card-actions{justify-content:flex-start}.topbar-end{justify-content:space-between}}.cta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.inapp-hint{border:1px solid var(--warn);background:var(--paper);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:520px;margin-top:12px;padding:10px 12px;font-size:.88rem;display:flex}.inapp-hint p{flex:240px;margin:0}.app>.inapp-hint{max-width:none;margin:8px 10px 0}.banner-note{background:var(--accent-soft);border-radius:10px;margin:8px 10px 0;padding:10px 14px}.pay-van{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin:32px auto;padding:28px 24px}.pay-van h1{margin:0 0 12px}.pay-van p,.pay-van .banner-note{margin:0 0 14px}.pay-van .btn.big{width:100%;margin-bottom:12px}.pay-price{font-weight:600}.van-badge{background:var(--accent-soft);color:var(--ink);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.75rem;font-weight:600;display:inline-block}.code-waiting{background:var(--accent-soft);border-radius:10px;max-width:520px;margin:0 0 16px;padding:10px 14px}.banner-note.closable{align-items:flex-start;gap:10px;display:flex}.banner-note.closable span{flex:1}.banner-close{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:50%;flex:none;margin:-6px -8px -6px 0;font-size:1.4rem;line-height:1}.table-scroll{overflow-x:auto}@media print{.table-scroll{overflow:visible}}.icon{flex:none;width:22px;height:22px}.bottom-nav{display:none}@media (width<=640px){.banner-note{margin:6px 10px 0;padding:8px 12px;font-size:.86rem}}@media (width<=1000px){.bottom-nav{z-index:40;padding-bottom:env(safe-area-inset-bottom);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line);background:#fffdf9f5;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{height:56px;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;font-weight:500;display:flex}.bottom-nav .icon{width:24px;height:24px}.bottom-nav button.on{color:var(--ink);font-weight:700}.bottom-nav button.on .icon{stroke-width:2.3px}.editor.compact{flex:1 1 0;height:auto;min-height:0;display:block;position:relative}.sheet-layout{background:#efe8dc;position:absolute;inset:0;overflow:clip}.sheet-layout .stage{z-index:0;position:absolute;top:0;left:0;right:0}.cam-row{scrollbar-width:none;gap:6px;max-width:calc(100% - 20px);display:flex;position:absolute;top:10px;left:10px;overflow-x:auto}.cam-row::-webkit-scrollbar{display:none}.sheet-tabs::-webkit-scrollbar{display:none}.cam-row button{white-space:nowrap;background:#fffdf9f0;border:0;border-radius:999px;flex:none;padding:8px 14px;font-size:.88rem;box-shadow:0 2px 8px #0000001a}.cam-row button.on{background:var(--ink);color:var(--paper)}.stage-buttons{gap:8px;display:flex;position:absolute;bottom:12px;right:10px}.round-btn{background:#fffdf9f2;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 2px 10px #00000024}.sheet-panel{z-index:1;background:var(--paper);border-radius:18px 18px 0 0;flex-direction:column;transition:height .28s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:0;left:0;right:0;overflow:clip;box-shadow:0 -6px 24px #2a252024}.sheet-panel.dragging{transition:none}.sheet-grab{touch-action:pan-x;-webkit-user-select:none;user-select:none;cursor:grab;flex:none;padding:0 14px 12px}.sheet-handle{background:0 0;border:0;width:100%;height:22px;padding:0;display:block;position:relative}.sheet-handle:before{content:"";background:#d6ccbd;border-radius:3px;width:40px;height:5px;margin-left:-20px;position:absolute;top:8px;left:50%}.sheet-body{overscroll-behavior:contain;border-top:1px solid var(--line);flex-direction:column;flex:1;gap:14px;min-height:0;padding:14px 14px 28px;display:flex;overflow-y:auto}.sheet-head{flex-direction:column;gap:10px;display:flex}.sheet-title,.sheet-summary{height:36px}.quick-actions,.sheet-tabs{height:44px}.sheet-title{align-items:center;gap:8px;display:flex}.sheet-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--serif);font-size:1.2rem;overflow:hidden}.sheet-title .muted{white-space:nowrap}.icon-btn{background:#f1ebe1;border:0;border-radius:50%;flex:none;place-items:center;width:36px;height:36px;margin-left:auto;display:grid}.quick-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.quick-actions button{border:1px solid var(--line);background:var(--paper);border-radius:12px;justify-content:center;align-items:center;gap:6px;min-width:0;font-size:.9rem;font-weight:500;display:flex}.quick-actions button:active,.round-btn:active{background:#f1ebe1}.quick-actions button.danger{color:var(--danger)}.sheet-summary{justify-content:space-between;align-items:center;gap:10px;display:flex}.sheet-budget{text-align:left;background:0 0;border:0;align-items:baseline;gap:8px;padding:0;display:flex}.sheet-budget strong{font-family:var(--serif);font-size:1.25rem}.sheet-checks{border:0;border-radius:999px;min-width:44px;min-height:32px;padding:4px 12px;font-size:.88rem;font-weight:600}.sheet-checks.ok{color:var(--ok);background:#e3eee3}.sheet-checks.attention{color:var(--warn);background:#fbf0dc}.sheet-checks.erreur{color:var(--danger);background:#fbe4e1}.sheet-tabs{scrollbar-width:none;align-items:center;gap:6px;margin:0 -14px;padding:0 14px;display:flex;overflow-x:auto}.sheet-tabs button{border:1px solid var(--line);background:var(--paper);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:8px 14px;font-size:.88rem;font-weight:500}.sheet-tabs button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.sheet-panel .mod-list button{padding:11px 12px}.sheet-panel .btn.small,.sheet-panel .seg button{padding:9px 12px}.sheet-panel .style-pick{padding:10px 14px}.sheet-panel .checks li{padding:10px 12px}.sheet-panel .num input[type=range]{height:32px}.van-panel{flex-direction:column;gap:10px;display:flex}}
