.md-render{--color-bg:#ffffff;--color-text:#1a1a1a;--color-heading:#111111;--color-link:#0b62d6;--color-code-bg:#f4f4f5;--color-border:#e2e2e6;--font-body:system-ui,sans-serif;--font-heading:system-ui,sans-serif;--font-code:ui-monospace,SFMono-Regular,Menlo,monospace;--font-size:17px;--line-height:1.65;--reading-width:44rem;--para-gap:1rem;--heading-scale:1;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--font-size);line-height:var(--line-height);max-width:var(--reading-width);margin:0 auto;padding:2rem 1.5rem}.md-render h1,.md-render h2,.md-render h3,.md-render h4,.md-render h5,.md-render h6{font-family:var(--font-heading);color:var(--color-heading);line-height:1.25}.md-render h1{font-size:calc(2em * var(--heading-scale))}.md-render h2{font-size:calc(1.6em * var(--heading-scale))}.md-render h3{font-size:calc(1.3em * var(--heading-scale))}.md-render h4{font-size:calc(1.1em * var(--heading-scale))}.md-render h5,.md-render h6{font-size:calc(1em * var(--heading-scale))}.md-render p{margin:0 0 var(--para-gap)}.md-render a{color:var(--color-link)}.md-render code,.md-render pre{font-family:var(--font-code)}.md-render pre.hljs,.md-render pre.mermaid{background:var(--color-code-bg);padding:1rem;border-radius:6px;overflow-x:auto}.md-render :not(pre)>code{background:var(--color-code-bg);padding:.15em .35em;border-radius:4px}.md-render table{border-collapse:collapse;width:100%;overflow-x:auto;display:block}.md-render td,.md-render th{border:1px solid var(--color-border);padding:.5rem .75rem}.md-render img{max-width:100%;height:auto}.md-render blockquote{margin:0 0 var(--para-gap);padding-left:1rem;border-left:3px solid var(--color-border);color:inherit;opacity:.85}:root{--font-ui:"Hanken Grotesk",system-ui,sans-serif;--font-display:"Fraunces",Georgia,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--c-canvas:#f4f1ec;--c-surface:#fbfaf7;--c-surface-2:#ece7df;--c-text:#221d17;--c-muted:#766c60;--c-faint:#a89d8e;--c-border:#e4ddd1;--c-border-strong:#d6cdbd;--c-accent:#c1552f;--c-accent-hover:#a9451f;--c-accent-weak:rgba(193,85,47,0.13);--c-on-accent:#fdf6f0;--radius:10px;--radius-sm:7px;--radius-lg:14px;--shadow-sm:0 1px 2px rgba(40,30,20,0.06),0 1px 1px rgba(40,30,20,0.04);--shadow-md:0 6px 20px -6px rgba(40,30,20,0.16),0 2px 6px rgba(40,30,20,0.06);--shadow-drawer:-16px 0 40px -24px rgba(40,30,20,0.35);--ease:cubic-bezier(0.2,0.7,0.2,1)}@media (prefers-color-scheme:dark){:root{--c-canvas:#17140f;--c-surface:#201c16;--c-surface-2:#2b261e;--c-text:#ede7db;--c-muted:#a89d8c;--c-faint:#776d5e;--c-border:#332d23;--c-border-strong:#423a2d;--c-accent:#e2794f;--c-accent-hover:#f08c63;--c-accent-weak:rgba(226,121,79,0.17);--c-on-accent:#1a140f;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 8px 24px -8px rgba(0,0,0,0.6);--shadow-drawer:-16px 0 44px -24px rgba(0,0,0,0.7)}}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--c-canvas);color:var(--c-text);font-family:var(--font-ui),system-ui,sans-serif;overflow:hidden}.app-body{display:flex;flex:1 1;min-height:0}.toolbar{display:flex;align-items:center;gap:10px;padding:9px 16px;min-height:56px;background:var(--c-surface);border-bottom:1px solid var(--c-border);flex-wrap:wrap}.wordmark{font-family:var(--font-display),serif;font-weight:600;font-size:20px;letter-spacing:-.01em;color:var(--c-text);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.wordmark .mark{color:var(--c-accent);font-style:italic}.tb-sep{width:1px;align-self:stretch;margin:6px 2px;background:var(--c-border)}.tb-group{display:flex;align-items:center;gap:6px}.tb-spacer{margin-left:auto}.btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),transform .08s var(--ease)}.btn:hover{background:var(--c-surface-2);border-color:var(--c-faint)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.btn svg{width:16px;height:16px;flex:none}.btn-primary{color:var(--c-on-accent);background:var(--c-accent);border-color:transparent}.btn-primary:hover{background:var(--c-accent-hover);border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--c-muted)}.btn-ghost:hover{background:var(--c-surface-2);color:var(--c-text)}.btn-icon{width:34px;height:34px;padding:0;justify-content:center}.btn-toggle.is-active{color:var(--c-accent);background:var(--c-accent-weak);border-color:transparent}.select{height:34px;padding:0 34px 0 12px;font-family:inherit;font-size:13.5px;font-weight:500;color:var(--c-text);background-color:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23766c60' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;transition:border-color .15s var(--ease),background-color .15s var(--ease)}.select:hover{border-color:var(--c-faint)}.select:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.import-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--c-accent-weak);border-bottom:1px solid var(--c-border)}.import-banner-text{flex:1 1;font-size:13.5px;color:var(--c-text)}.error-pill{display:inline-flex;align-items:center;font-size:12.5px;color:var(--c-accent);background:var(--c-accent-weak);padding:5px 10px;border-radius:999px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.sidebar{width:258px;flex:none;display:flex;flex-direction:column;background:var(--c-surface);border-right:1px solid var(--c-border);overflow:hidden}.sidebar-head{padding:14px 16px 8px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--c-faint)}.recent-list{list-style:none;margin:0;padding:4px 8px;overflow-y:auto}.recent-item{display:flex;align-items:center;gap:9px;margin-bottom:2px;padding:8px 9px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s var(--ease)}.recent-item:hover{background:var(--c-surface-2)}.recent-item.is-active{background:var(--c-accent-weak)}.recent-icon{color:var(--c-faint);display:flex;flex:none}.recent-item.is-active .recent-icon{color:var(--c-accent)}.recent-open{flex:1 1;min-width:0;text-align:left;border:none;background:none;cursor:pointer;color:var(--c-text);font:inherit;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0}.recent-item.is-active .recent-open{color:var(--c-accent);font-weight:500}.recent-remove{flex:none;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:none;border-radius:5px;color:var(--c-faint);cursor:pointer;opacity:0;transition:opacity .12s var(--ease),background .12s var(--ease),color .12s var(--ease)}.recent-item:hover .recent-remove{opacity:1}.recent-remove:hover{background:var(--c-border);color:var(--c-accent)}.sidebar-empty{padding:8px 16px;font-size:13px;color:var(--c-faint);line-height:1.5}.sidebar-bloc{display:flex;flex-direction:column;min-height:0}.sidebar-bloc+.sidebar-bloc{border-top:1px solid var(--c-border)}.drive-list{margin:0;padding:4px 8px;overflow-y:auto}.drive-list,.drive-source{list-style:none}.drive-fichiers{list-style:none;margin:0;padding:0 0 4px 16px}.drive-remove{opacity:1}.drive-ferme{margin:0;padding:2px 10px 10px 34px;font-size:12.5px;line-height:1.45;color:var(--c-accent)}.drive-trop-gros{flex:1 1;min-width:0;font-size:12.5px;line-height:1.4;color:var(--c-faint)}.drive-annonce.is-echec{background:var(--c-surface-2)}.drive-ajouter{flex:0 0 auto;padding:6px 10px 10px 34px;font-size:12.5px;line-height:1.4;color:var(--c-faint);text-decoration:none}.drive-ajouter:hover{color:var(--c-text);text-decoration:underline}.editor-pane{flex:1 1;min-width:0;display:flex;flex-direction:column;border-right:1px solid var(--c-border);background:var(--c-surface)}.pane-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--c-faint);border-bottom:1px solid var(--c-border)}.editor{flex:1 1;border:none;outline:none;resize:none;padding:20px 22px;background:transparent;color:var(--c-text);font-family:var(--font-mono);font-size:13.5px;line-height:1.75;caret-color:var(--c-accent);-moz-tab-size:2;tab-size:2}.editor::selection{background:var(--c-accent-weak)}.editor::placeholder{color:var(--c-faint)}.preview{flex:1 1;min-width:0;overflow:auto;background:var(--c-canvas)}.style-panel{width:328px;flex:none;display:flex;flex-direction:column;background:var(--c-surface);border-left:1px solid var(--c-border);box-shadow:var(--shadow-drawer);animation:drawer-in .22s var(--ease)}@keyframes drawer-in{0%{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--c-border)}.panel-title{margin:0;font-family:var(--font-display),serif;font-weight:600;font-size:17px;letter-spacing:-.01em}.panel-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;background:none;border-radius:7px;color:var(--c-muted);cursor:pointer;transition:background .12s var(--ease),color .12s var(--ease)}.panel-close:hover{background:var(--c-surface-2);color:var(--c-text)}.panel-body{flex:1 1;overflow-y:auto;padding:8px 18px 20px}.panel-section{margin:18px 0 9px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-faint)}.panel-section:first-child{margin-top:8px}.field{display:block;margin-bottom:13px}.field-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px;font-size:13px;color:var(--c-text)}.field-val{font-family:var(--font-mono);font-size:11.5px;color:var(--c-muted);background:var(--c-surface-2);padding:1px 7px}.field-val,.range{border-radius:999px}.range{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--c-border-strong);outline:none;cursor:pointer}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--c-accent);border:2px solid var(--c-surface);box-shadow:var(--shadow-sm);cursor:pointer;-webkit-transition:transform .1s var(--ease);transition:transform .1s var(--ease)}.range::-webkit-slider-thumb:hover{transform:scale(1.15)}.range::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--c-accent);border:2px solid var(--c-surface);cursor:pointer}.color-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:9px 12px;gap:9px 12px}.color-field{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--c-text)}.color-swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:30px;height:30px;flex:none;padding:0;border:1px solid var(--c-border-strong);border-radius:8px;background:none;cursor:pointer;overflow:hidden}.color-swatch::-webkit-color-swatch-wrapper{padding:0}.color-swatch::-webkit-color-swatch{border:none;border-radius:7px}.color-swatch::-moz-color-swatch{border:none;border-radius:7px}.panel-select{width:100%;height:36px}.css-editor{width:100%;min-height:300px;box-sizing:border-box;resize:vertical;padding:12px 14px;font-family:var(--font-mono);font-size:12.5px;line-height:1.6;color:var(--c-text);background:var(--c-canvas);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);outline:none;caret-color:var(--c-accent)}.css-editor:focus-visible{border-color:var(--c-accent)}.panel-note{font-size:12.5px;color:var(--c-muted);line-height:1.5;margin:12px 0}.tpl-manage{position:relative}.tpl-manage-list{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:220px;max-height:300px;overflow-y:auto;padding:6px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-md)}.tpl-row{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--radius-sm);font-size:13px}.tpl-row:hover{background:var(--c-surface-2)}.tpl-row span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tpl-row button{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;background:none;border-radius:5px;color:var(--c-faint);cursor:pointer}.tpl-row button:hover{background:var(--c-border);color:var(--c-accent)}.tpl-empty{padding:8px;font-size:12.5px;color:var(--c-faint)}.account{display:flex;align-items:center;gap:8px;min-width:0}.account-email{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--c-muted)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--c-canvas);color:var(--c-text)}.auth-card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:16px;padding:32px 28px;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.auth-title{margin:0;font-family:var(--font-display),serif;font-weight:600;font-size:26px;letter-spacing:-.01em}.auth-sub{margin:-8px 0 0;font-size:13.5px;line-height:1.5;color:var(--c-muted)}.auth-email{display:flex;flex-direction:column}.auth-input{width:100%;height:38px;padding:0 12px;font:inherit;font-size:13.5px;color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--radius-sm);transition:border-color .15s var(--ease)}.auth-input::placeholder{color:var(--c-faint)}.auth-input:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.auth-btn{width:100%;justify-content:center;margin-top:10px}.auth-back{margin:4px 0 0;text-align:center;font-size:13px}.auth-back a{color:var(--c-muted)}.auth-back a:hover{color:var(--c-accent)}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}:root{color-scheme:light dark}*{box-sizing:border-box}body{margin:0;font-family:var(--font-ui),system-ui,sans-serif;background:var(--c-canvas);color:var(--c-text)}