@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_8f38c6{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_8f38c6{--font-sans:"Figtree","Figtree Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--fond:#eceef1;--carte:#ffffff;--noir:#101318;--noir-hover:#23272f;--texte:#16181d;--muted:#6d7683;--bordure:#e4e7eb;--champ:#f3f4f6;--lime:#b5e941;--lime-pale:#eff9d8;--lime-texte:#44650b;--ambre:#e2a13c;--ambre-pale:#faeecf;--ambre-texte:#8c5e0a;--acier:#c6d0de;--acier-pale:#e9edf3;--acier-texte:#4d5e7c;--rouge:#c43d33;--rouge-pale:#fbe9e7;--font-sans:ui-sans-serif,system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,monospace;--radius-carte:22px;--radius-champ:12px;--ombre-carte:0 1px 2px rgb(16 19 24/0.04),0 14px 40px rgb(16 19 24/0.06);--ombre-pilule:0 1px 2px rgb(16 19 24/0.05),0 6px 20px rgb(16 19 24/0.05);--transition:180ms cubic-bezier(0.2,0,0,1)}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{min-height:100dvh;background:var(--fond);color:var(--texte);font-family:var(--font-sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}::selection{background:var(--lime);color:var(--noir)}:focus-visible{outline:2px solid var(--noir);outline-offset:2px;border-radius:6px}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.page-glow{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.page-glow:after,.page-glow:before{content:"";position:absolute;inset:-20%;will-change:transform}.page-glow:before{background:radial-gradient(640px 400px at 16% 2%,rgb(92 128 255/.46),transparent 68%),radial-gradient(720px 440px at 82% -4%,rgb(110 208 255/.4),transparent 70%),radial-gradient(460px 320px at 54% 10%,rgb(148 118 255/.2),transparent 72%);animation:orb-drift-a 26s ease-in-out infinite alternate}.page-glow:after{background:radial-gradient(540px 420px at -6% 58%,rgb(105 145 255/.24),transparent 70%),radial-gradient(580px 440px at 104% 46%,rgb(115 205 255/.2),transparent 72%),radial-gradient(660px 400px at 60% 108%,rgb(92 128 255/.22),transparent 74%);animation:orb-drift-b 34s ease-in-out infinite alternate}@keyframes orb-drift-a{0%{transform:translate3d(-1.5%,-1%,0) scale(1)}to{transform:translate3d(1.5%,1.5%,0) scale(1.06)}}@keyframes orb-drift-b{0%{transform:translate3d(1%,1.5%,0) scale(1.04)}to{transform:translate3d(-1.5%,-1%,0) scale(1)}}@media (prefers-reduced-motion:reduce){.page-glow:after,.page-glow:before{animation:none}}.topbar{position:relative;z-index:1;display:flex;gap:.7rem;flex-wrap:wrap;max-width:1160px;margin:0 auto;padding:1.15rem 1.25rem .4rem}.pill,.topbar{align-items:center}.pill{display:inline-flex;gap:.55rem;background:var(--carte);border-radius:999px;box-shadow:var(--ombre-pilule);padding:.42rem .6rem;text-decoration:none;color:var(--texte)}.pill.brand{padding:.42rem 1rem .42rem .5rem}.brand-glyph{width:30px;height:30px;border-radius:999px;background:var(--noir);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.brand-glyph svg{width:15px;height:15px}.brand-name{font-size:.9rem;font-weight:500;color:var(--muted);white-space:nowrap}.brand-name strong{color:var(--texte);font-weight:700}.nav-pill{padding:.3rem;gap:.25rem}.nav-link{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem 1.05rem;min-height:38px;border-radius:999px;font-size:.88rem;font-weight:600;color:var(--muted);text-decoration:none;transition:color var(--transition),background var(--transition)}.nav-link:hover{color:var(--texte)}.nav-link.active{background:var(--noir);color:#fff}.nav-link.disabled{cursor:not-allowed}.nav-link.disabled:hover{color:var(--muted)}.nav-soon{font-size:.64rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:var(--acier-pale);color:var(--acier-texte);border-radius:999px;padding:.12rem .5rem}.pill.version{font-size:.78rem;color:var(--muted);padding:.42rem .9rem}.app-content{position:relative;z-index:1;padding:1.4rem 1.25rem 4.5rem}main{max-width:1160px;margin:0 auto}h1{font-size:clamp(1.9rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.035em;line-height:1.08;color:var(--noir);margin:.8rem 0 .5rem;overflow-wrap:anywhere}.steps{display:flex;gap:1.6rem;flex-wrap:wrap;align-items:baseline;margin:1.4rem 0 1.6rem}.step{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;min-height:0;box-shadow:none;font-family:var(--font-sans);font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;letter-spacing:-.035em;line-height:1.1;color:#c3cad3;cursor:pointer;transition:color var(--transition)}.step:hover{color:#8f99a6;background:none;transform:none}.step.active,h2{color:var(--noir)}h2{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.35rem}.card-sub{color:var(--muted);font-size:.88rem;margin-bottom:1.1rem}.page-sub{font-size:.95rem;max-width:46rem}.muted,.page-sub{color:var(--muted)}.muted{font-size:.88rem}.crumb{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.86rem;font-weight:500;min-height:44px}.crumb,.crumb:hover{text-decoration:none}.crumb:hover{color:var(--texte)}.meta-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0}.chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--carte);border-radius:999px;box-shadow:var(--ombre-pilule);padding:.3rem .85rem;font-size:.8rem;color:var(--muted)}.chip code,.chip strong{color:var(--texte)}.chip code{font-family:var(--font-mono);font-size:.74rem}.card{background:var(--carte);border-radius:var(--radius-carte);padding:1.5rem 1.6rem;margin-bottom:1.1rem;box-shadow:var(--ombre-carte)}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.btn,button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;background:var(--noir);color:#fff;border:none;border-radius:999px;padding:.55rem 1.3rem;min-height:40px;font-family:var(--font-sans);font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background var(--transition),transform .12s ease,opacity var(--transition)}.btn:hover,button:hover{background:var(--noir-hover)}.btn:active,button:active{transform:scale(.97)}button:disabled{background:var(--acier-pale);color:#9aa4b2;cursor:not-allowed;transform:none}.btn svg,button svg{width:15px;height:15px}button.secondary{background:var(--carte);color:var(--texte);box-shadow:inset 0 0 0 1.5px var(--bordure)}button.secondary:hover{background:var(--champ)}button.danger{background:transparent;color:var(--rouge)}button.danger:hover{background:var(--rouge-pale)}.icon-btn{width:40px;height:40px;padding:0;border-radius:999px;background:var(--noir);color:#fff;flex-shrink:0}.icon-btn.secondary{background:var(--carte);color:var(--texte);box-shadow:inset 0 0 0 1.5px var(--bordure)}input[type=email],input[type=password],input[type=text],select,textarea{width:100%;border:1.5px solid transparent;border-radius:var(--radius-champ);padding:.55rem .8rem;min-height:42px;font-size:.9rem;font-family:var(--font-sans);background:var(--champ);color:var(--texte);transition:border-color var(--transition),background var(--transition)}input[type=email]:hover,input[type=password]:hover,input[type=text]:hover,select:hover,textarea:hover{background:#eef0f3}input[type=email]:focus,input[type=password]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--noir);background:var(--carte)}textarea{min-height:5rem;resize:vertical;line-height:1.5}input[type=color]{width:46px;height:42px;border:1.5px solid var(--bordure);border-radius:var(--radius-champ);background:var(--carte);padding:4px;cursor:pointer}input[type=file]{font-size:.85rem;color:var(--muted);max-width:100%}input[type=checkbox]{width:17px;height:17px;accent-color:var(--noir)}label{font-size:.8rem;font-weight:600;color:var(--texte);display:block;margin:1rem 0 .3rem}label:first-child{margin-top:0}.table-wrap{overflow-x:auto}.table-wrap>table{min-width:660px}table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{text-align:left;padding:.7rem;border-bottom:1px solid #eff1f4;vertical-align:top}tbody tr:last-child td{border-bottom:none}th{color:var(--muted);font-size:.71rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}td.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:.16rem .65rem;font-size:.75rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge.auto{background:var(--acier-pale);color:var(--acier-texte)}.badge.a_corriger{background:var(--ambre-pale);color:var(--ambre-texte)}.badge.valide{background:var(--lime-pale);color:var(--lime-texte)}.badge.manquant{background:#f1f2f4;color:var(--muted)}.lang-bar{display:flex;height:8px;border-radius:999px;overflow:hidden;background:#e8eaee;min-width:110px;flex:1 1}.lang-bar>span{display:block;height:100%}.lang-bar .seg-valide{background:var(--lime)}.lang-bar .seg-auto{background:var(--acier)}.lang-bar .seg-fix{background:var(--ambre)}.lang-code{font-family:var(--font-mono);font-size:.76rem;font-weight:500;color:var(--muted);text-transform:uppercase;width:1.7rem;flex-shrink:0}.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:.35rem}.legend i{width:9px;height:9px;border-radius:999px;display:inline-block}.module-card{display:flex;align-items:center;gap:1.4rem;background:var(--carte);border-radius:var(--radius-carte);box-shadow:var(--ombre-carte);padding:1.2rem 1.4rem;margin-bottom:.9rem;transition:transform var(--transition),box-shadow var(--transition)}.module-card:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgb(16 19 24/.05),0 18px 48px rgb(16 19 24/.09)}.module-id{flex:1 1;min-width:220px}.module-name{font-size:1.05rem;font-weight:700;letter-spacing:-.015em;color:var(--texte);text-decoration:none;overflow-wrap:anywhere}.module-name:hover{text-decoration:none;color:var(--noir)}.module-langs{flex:1.4 1;min-width:240px;display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem 1.2rem;gap:.45rem 1.2rem}.module-actions{display:flex;align-items:center;gap:.5rem}@media (max-width:720px){.module-card{flex-direction:column;align-items:stretch;gap:.9rem}.module-langs{grid-template-columns:1fr}.module-actions{justify-content:flex-end}}.dropzone{border:1.5px dashed #d3d8df;border-radius:18px;padding:2.2rem 1.5rem;text-align:center;transition:border-color var(--transition),background var(--transition);background:#fafbfc}.dropzone.drag{border-color:var(--noir);background:var(--lime-pale)}.dropzone p{color:var(--muted);font-size:.9rem;margin-top:.6rem}.dropzone strong{color:var(--texte)}.dropzone .row{justify-content:center;margin-top:1rem}.error-box,.ok-box{display:flex;gap:.6rem;align-items:flex-start;border-radius:14px;padding:.7rem 1rem;margin:.8rem 0;font-size:.86rem;white-space:pre-wrap}.error-box{background:var(--rouge-pale);color:#8f2a22}.ok-box{background:var(--lime-pale);color:var(--lime-texte)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.8rem;gap:.8rem}.stat{display:flex;flex-direction:column;gap:.1rem;padding:.9rem 1rem;border-radius:14px;background:#fafbfc;border:1px solid var(--bordure)}.stat-num{font-size:1.7rem;font-weight:800;letter-spacing:-.03em;color:var(--noir);line-height:1}.stat-label{font-size:.8rem;color:var(--muted)}@media (max-width:720px){.stat-row{grid-template-columns:1fr 1fr}}.review-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;padding:1rem;border-radius:14px;background:#fafbfc;border:1px solid var(--bordure)}.review-read{font-size:.98rem;line-height:1.6;color:var(--texte);white-space:pre-wrap;word-break:break-word;padding-top:.3rem}.review-edit{display:flex;flex-direction:column;gap:.4rem}.review-field{font-family:var(--font-sans);font-size:.95rem;line-height:1.55;background:var(--carte)}@media (max-width:760px){.review-row{grid-template-columns:1fr;gap:.6rem}.review-read{border-bottom:1px solid var(--bordure);padding-bottom:.6rem}}.share-row{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border-radius:12px;background:#fafbfc;border:1px solid var(--bordure);cursor:pointer}.share-row:hover{background:var(--champ)}.share-row.shared{background:var(--lime-pale);border-color:#d3ec9f}.segment-source{font-family:var(--font-mono);font-size:.78rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;background:var(--champ);border-radius:var(--radius-champ);padding:.6rem .7rem;max-height:12rem;overflow-y:auto}.segment-meta{font-size:.72rem;color:var(--muted);margin-top:.35rem}textarea.segment-target{font-family:var(--font-mono);font-size:.8rem}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.4rem;gap:1.4rem}.row{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}.spacer{flex:1 1}iframe.preview{width:100%;height:460px;border:1.5px solid var(--bordure);border-radius:18px;background:#fff}details summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--texte);min-height:44px;display:flex;align-items:center;gap:.4rem}details[open] summary{margin-bottom:.7rem}a{color:var(--texte);text-decoration:underline;-webkit-text-decoration-color:#c9cfd6;text-decoration-color:#c9cfd6;text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--texte);text-decoration-color:var(--texte)}.empty-state{text-align:center;padding:2.2rem 1rem;color:var(--muted);font-size:.9rem}.empty-state strong{color:var(--texte)}.skeleton{height:.95rem;border-radius:999px;background:linear-gradient(90deg,#e8eaee 25%,#f2f3f5 50%,#e8eaee 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}@keyframes shimmer{to{background-position:-200% 0}}@media (max-width:900px){.grid-2{grid-template-columns:1fr}.steps{gap:1.1rem}}