/* EasyConv — design repris d'EasyPrésence : jaune #FFD500 + noir profond, Space Grotesk / Inter */
@font-face{font-family:"Inter";font-weight:400;font-display:swap;src:url("/fonts/inter-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:500;font-display:swap;src:url("/fonts/inter-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:600;font-display:swap;src:url("/fonts/inter-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Inter";font-weight:700;font-display:swap;src:url("/fonts/inter-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:500;font-display:swap;src:url("/fonts/space-grotesk-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:600;font-display:swap;src:url("/fonts/space-grotesk-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-weight:700;font-display:swap;src:url("/fonts/space-grotesk-latin-700-normal.woff2") format("woff2")}

:root{
  --background:#f7f8f4;--foreground:#20241f;--card:#fff;--primary:#f4dc39;--primary-fg:#24261a;
  --secondary:#252c25;--secondary-fg:#fff;--muted:#edf0e8;--muted-fg:#697164;--accent:#f6f0cc;
  --destructive:#bc3542;--success:#34724a;--border:#e0e5da;--input:#dce2d5;--ring:#8c9a48;
  --surface:#f1f4ed;--surface-2:#edf1e7;--mine:#edf1cb;--mine-fg:#283019;
  --shadow-soft:0 3px 8px #26351b08;--shadow-elevated:0 18px 55px -20px #33432326;
  --font-display:"Space Grotesk",system-ui,sans-serif;--font-sans:"Inter",system-ui,sans-serif;color-scheme:light;
}
:root[data-theme="dark"]{
  --background:#171d18;--foreground:#edf1e8;--card:#202821;--primary:#f4dc39;--primary-fg:#24261a;
  --secondary:#e7edde;--secondary-fg:#202821;--muted:#2c362d;--muted-fg:#aab7a4;--accent:#383b25;
  --destructive:#ff9aa5;--success:#8dce9e;--border:#364236;--input:#46503e;--ring:#d1d881;
  --surface:#1c241d;--surface-2:#2b362b;--mine:#3c482b;--mine-fg:#f1f5d9;
  --shadow-soft:0 3px 8px #0002;--shadow-elevated:0 18px 55px -20px #0007;color-scheme:dark;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --background:#171d18;--foreground:#edf1e8;--card:#202821;--primary:#f4dc39;--primary-fg:#24261a;
  --secondary:#e7edde;--secondary-fg:#202821;--muted:#2c362d;--muted-fg:#aab7a4;--accent:#383b25;
  --destructive:#ff9aa5;--success:#8dce9e;--border:#364236;--input:#46503e;--ring:#d1d881;
  --surface:#1c241d;--surface-2:#2b362b;--mine:#3c482b;--mine-fg:#f1f5d9;
  --shadow-soft:0 3px 8px #0002;--shadow-elevated:0 18px 55px -20px #0007;color-scheme:dark;
}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:7rem}
body{margin:0;background:var(--background);color:var(--foreground);font:400 15px/1.6 var(--font-sans);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1;min-width:0}h1,h2,h3{font-family:var(--font-display);line-height:1.15;margin:0;font-weight:700;letter-spacing:-.045em}
a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
::selection{background:var(--primary);color:var(--primary-fg)}
:focus-visible{outline:3px solid var(--ring);outline-offset:4px;border-radius:5px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hidden{display:none!important}.icon{width:20px;height:20px;display:inline-block;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.skip-link{position:fixed;top:-6rem;left:1rem;z-index:200;padding:.7rem 1rem;background:var(--primary);color:var(--primary-fg);border-radius:8px}.skip-link:focus{top:1rem}
/* Navigation */
.site-header{position:relative;z-index:40;border-bottom:1px solid var(--border);background:var(--background)}
.site-header .in{max-width:1200px;margin:auto;padding:1.1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;flex:none}.brand-icon{width:45px;height:45px;display:grid;place-items:center;background:var(--primary);border:1px solid #d7c22d;border-radius:13px}.brand img{width:36px;height:36px}.brand b{font:700 1.45rem/1.2 var(--font-display);letter-spacing:-.06em;display:block}.brand-period{color:#8a9638}.brand small{display:block;font-size:.66rem;color:var(--muted-fg);margin-top:.2rem;letter-spacing:.01em}
.header-nav{display:flex;align-items:center;gap:1.8rem}.header-nav>a{font-size:.8rem;text-decoration:none;font-weight:500}.header-nav>a:hover{color:var(--muted-fg)}
.free-label{display:flex;align-items:center;gap:.45rem;font-size:.73rem;color:var(--muted-fg)}.free-label>span,.status-dot,.preview-live>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5b7d47;flex:none}
.icon-btn{width:39px;height:39px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:11px;background:var(--card);color:var(--foreground);cursor:pointer;flex:none;transition:background .2s,transform .2s}.icon-btn:hover{background:var(--accent);transform:translateY(-1px)}
/* Landing */
.hero{position:relative;background:radial-gradient(ellipse at 0 30%,color-mix(in srgb,var(--primary) 6%,transparent),transparent 65%)}
.hero>.in{max-width:1200px;margin:auto;padding:4.8rem 2rem 4.5rem;display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:start}.hero-copy{padding-top:1rem;min-width:0}
.intro-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;border:1px solid var(--border);background:var(--card);border-radius:50px;font-size:.68rem;font-weight:500;letter-spacing:.01em}
.hero h1{font-size:clamp(2.5rem,4.4vw,3.65rem);letter-spacing:-.065em;line-height:1.13;margin:1.45rem 0 1.3rem;font-weight:600}.highlight{position:relative;white-space:nowrap;z-index:0}.highlight>svg{position:absolute;bottom:-9px;left:0;width:100%;height:16px;z-index:-1;fill:none;stroke:var(--primary);stroke-width:9;stroke-linecap:round}.title-dot{color:#849347}.lead{font-size:.98rem;color:var(--muted-fg);line-height:1.8;max-width:26rem;margin:0 0 1.3rem}.hero-promises{display:flex;flex-wrap:wrap;gap:.45rem 1rem;font-size:.68rem;font-weight:500}.hero-promises>span{display:flex;gap:.3rem;align-items:center}.hero-promises .icon{width:15px;height:15px;color:#678145;stroke-width:2.3}
/* A conversation, not a stock image */
.conversation-preview{margin-top:2.5rem;border:1px solid var(--border);border-radius:15px;background:var(--card);padding:1.1rem 1.25rem;box-shadow:var(--shadow-soft);transform:rotate(-1.2deg);max-width:470px;user-select:none}
.preview-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:1px solid var(--border);padding-bottom:.9rem;margin-bottom:1.1rem}.preview-room{display:flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:600}.preview-room .icon{width:17px;height:17px}.preview-live{font-size:.56rem;color:var(--muted-fg);display:flex;align-items:center;gap:.3rem}.preview-live>span{width:5px;height:5px}
.preview-message{display:flex;align-items:flex-start;gap:.55rem;margin:.8rem 0}.avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;flex:none;font-size:.65rem;font-weight:600;color:#34313d}.avatar-lilac{background:#e5dff2}.avatar-yellow{background:#efe5a3}.preview-author{font-size:.59rem;font-weight:600;display:block;margin-bottom:.25rem}.preview-author small{font-size:.5rem;font-weight:400;color:var(--muted-fg);margin-left:.4rem}.preview-message p{margin:0;padding:.55rem .75rem;border-radius:0 10px 10px 10px;background:var(--surface);font-size:.65rem}.preview-mine{justify-content:flex-end}.preview-mine .preview-author{text-align:right}.preview-mine p{background:var(--mine);color:var(--mine-fg);border-radius:10px 0 10px 10px}.preview-mine p>span{color:#7b8645}
.preview-attachment{margin:.7rem 2rem .9rem auto;max-width:235px;border:1px solid var(--border);border-radius:10px;padding:.6rem;display:flex;align-items:center;gap:.65rem}.preview-attachment>.icon{width:28px;height:32px;background:var(--accent);padding:5px;border-radius:5px}.preview-attachment>span{font-size:.6rem;font-weight:500}.preview-attachment small{display:block;font-size:.5rem;color:var(--muted-fg);font-weight:400}.preview-attachment .attachment-check{margin-left:auto;color:var(--success)}.attachment-check .icon{width:14px;height:14px}.preview-caption{display:block;text-align:center;font-size:.56rem;color:var(--muted-fg);padding-top:.65rem;border-top:1px dashed var(--border)}
/* Forms and controls */
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:1.8rem;box-shadow:var(--shadow-elevated)}.create-card{padding:0;overflow:hidden;min-width:0}.card-ribbon{display:flex;align-items:center;gap:.45rem;padding:.7rem 1.5rem;background:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--primary) 30%,var(--border));font-size:.64rem;font-weight:500}.card-ribbon>.icon{margin-left:auto;width:15px;height:15px}.create-card-content{padding:1.65rem 1.8rem 1.25rem}.card-symbol{display:grid;place-items:center;width:42px;height:42px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;margin-bottom:1rem}.card-symbol .icon{width:21px;height:21px}.create-card h2{font-size:1.7rem;letter-spacing:-.05em}.card-description{font-size:.73rem;color:var(--muted-fg);margin:.45rem 0 1.5rem}
.field{margin-bottom:1.1rem}label{display:block;font-size:.75rem;font-weight:600;margin-bottom:.4rem}.required-note{float:right;font-size:.59rem;color:var(--muted-fg);font-weight:400;padding-top:3px}.optional-label{font-weight:400;font-size:.61rem;background:var(--surface);color:var(--muted-fg);border-radius:5px;padding:.15rem .4rem;margin-left:.4rem}
input[type=text],input[type=password],select,textarea{min-width:0;width:100%;border:1px solid var(--input);background:var(--background);color:var(--foreground);border-radius:9px;padding:.75rem .85rem;font:400 .8rem/1.5 var(--font-sans);transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:var(--muted-fg);opacity:.8}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in srgb,var(--ring) 18%,transparent)}.input-icon{position:relative}.input-icon>.icon{position:absolute;top:50%;transform:translateY(-50%);left:.8rem;pointer-events:none;color:var(--muted-fg);width:16px;height:16px}.input-icon input,.input-icon select{padding-left:2.3rem}.input-icon select{padding-right:2rem}.hint{font-size:.64rem;line-height:1.7;color:var(--muted-fg);margin:.4rem 0 0}.row2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.check{display:flex;gap:.6rem;align-items:flex-start;font-weight:400}.check input{width:17px;height:17px;flex:none;accent-color:var(--primary);margin-top:3px}.check a{text-underline-offset:3px}
.file-option{position:relative;display:flex;align-items:center;gap:.65rem;padding:.8rem;border:1px solid var(--border);background:var(--surface);border-radius:10px;cursor:pointer;margin:1.2rem 0}.option-icon{width:29px;height:32px;display:grid;place-items:center;color:var(--muted-fg)}.option-text{flex:1;min-width:0}.option-text b{display:block;font-size:.7rem;font-weight:500}.option-text small{display:block;font-size:.6rem;font-weight:400;color:var(--muted-fg)}.file-option input{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:34px;height:20px;margin:0;opacity:0;cursor:pointer}.switch-track{width:34px;height:20px;border-radius:20px;flex:none;background:var(--input);transition:background .2s;pointer-events:none;border:1px solid color-mix(in srgb,var(--foreground) 15%,transparent)}.switch-track:after{content:"";display:block;background:var(--card);width:14px;height:14px;border-radius:50%;margin:2px;box-shadow:0 1px 3px #0002;transition:transform .2s}.file-option input:checked+.switch-track{background:var(--primary);border-color:#ccb92b}.file-option input:checked+.switch-track:after{transform:translateX(14px);background:#343c29}.file-option input:focus-visible+.switch-track{outline:3px solid var(--ring);outline-offset:4px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;border:1px solid transparent;border-radius:9px;padding:.75rem 1rem;font:600 .8rem/1.4 var(--font-sans);text-decoration:none;cursor:pointer;transition:background .2s,transform .2s,box-shadow .2s}.btn-primary{background:var(--primary);color:var(--primary-fg);border-color:#dbc52f;box-shadow:0 3px 0 #b9a92824}.btn-primary:hover{background:#f8e354;transform:translateY(-1px);box-shadow:0 5px 12px #b9a92826}.btn-primary .icon{width:17px;height:17px}.btn-dark{background:var(--secondary);color:var(--secondary-fg)}.btn-ghost{background:transparent;color:var(--foreground);border-color:var(--border)}.btn-ghost:hover{background:var(--surface-2)}.btn-danger{background:transparent;border-color:color-mix(in srgb,var(--destructive) 35%,var(--border));color:var(--destructive)}.btn-danger:hover{background:color-mix(in srgb,var(--destructive) 10%,var(--card))}.btn:disabled{opacity:.6;cursor:wait;transform:none}.btn-sm{padding:.5rem .7rem;min-height:36px;font-size:.7rem}.turnstile-slot:empty{display:none}.turnstile-slot{margin-bottom:1rem;overflow:hidden}.form-footnote{font-size:.6rem;color:var(--muted-fg);display:flex;align-items:center;justify-content:center;gap:.35rem;margin:.8rem 0 0}.form-footnote .icon{width:12px;height:12px}.error{font-size:.73rem;color:var(--destructive);margin:.6rem 0 0;overflow-wrap:anywhere}.error:empty{display:none}.result{margin-top:1.2rem}.success-label{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--success);margin-bottom:1rem}.copyrow{display:flex;gap:.5rem}.copyrow input{font-size:.7rem}.copyrow .btn{flex:none}
/* Explanation and privacy */
.how-section{max-width:1200px;padding:1rem 2rem 4.5rem;margin:0 auto}.section-heading{border-top:1px solid var(--border);padding-top:2.8rem;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:1.7rem}.eyebrow{display:inline-block;font-size:.63rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-fg)}.section-heading h2{font-size:1.75rem;margin-top:.6rem;letter-spacing:-.045em}.section-heading>p{font-size:.72rem;color:var(--muted-fg);margin:0;line-height:1.8}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.step-card{padding:1.45rem;background:var(--card);border:1px solid var(--border);border-radius:13px}.step-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem}.step-icon{width:37px;height:37px;background:var(--surface-2);border-radius:11px;display:grid;place-items:center}.step-number{font:500 .8rem var(--font-display);color:var(--muted-fg);opacity:.6}.step-card h3{font-size:1.06rem;letter-spacing:-.025em}.step-card p{font-size:.75rem;line-height:1.85;color:var(--muted-fg);margin:.65rem 0 0}.privacy-note{display:flex;align-items:center;gap:1rem;margin-top:1.4rem;padding:1.1rem 1.3rem;border:1px dashed var(--input);border-radius:11px}.privacy-note-icon{color:var(--muted-fg);display:flex}.privacy-note p{font-size:.65rem;color:var(--muted-fg);line-height:1.8;flex:1;margin:0}.privacy-note b{font-weight:600;color:var(--foreground)}.privacy-note>a{display:flex;align-items:center;gap:.4rem;text-decoration:none;font-size:.65rem;white-space:nowrap;font-weight:500}.privacy-note>a:hover{text-decoration:underline}.privacy-note>a .icon{width:15px;height:15px}
/* Footer */
.site-footer{border-top:1px solid var(--border);padding:2.4rem 2rem;background:var(--surface)}.site-footer>.in{max-width:1136px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:2rem;font-size:.72rem;color:var(--muted-fg);flex-wrap:wrap}.footer-wordmark{font:700 1.3rem var(--font-display);letter-spacing:-.05em;text-decoration:none;color:var(--foreground)}.footer-wordmark span{color:#839146}.footer-identity p{font-size:.65rem;margin:.4rem 0}.footer-identity small{font-size:.6rem;color:var(--muted-fg)}.footer-links{display:flex;gap:1.3rem;flex-wrap:wrap}.footer-links a{text-decoration:none;font-size:.65rem}.footer-links a:hover{text-decoration:underline}footer a{text-underline-offset:4px}.developer-credit{flex-shrink:0;border-top:1px solid #dfca37;background:var(--primary);color:var(--primary-fg);padding:.65rem 1rem calc(.65rem + env(safe-area-inset-bottom));text-align:center;font-size:.67rem;letter-spacing:.02em}.developer-credit a{font-weight:700;text-decoration:none;display:inline-block;margin-left:.15rem}.developer-credit a:hover{text-decoration:underline;text-underline-offset:3px}.credit-spark{margin-right:.4rem}
/* Legal documents */
.legal{width:100%;max-width:820px;margin:2.5rem auto 3.5rem;padding:2.5rem 3rem;background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-soft);overflow-wrap:anywhere}.legal h1{font-size:clamp(1.9rem,4vw,2.8rem);margin:.9rem 0 1.2rem}.legal h2{font-size:1.25rem;margin:2.2rem 0 .85rem;padding-top:1.3rem;border-top:1px solid var(--border);letter-spacing:-.025em}.legal p,.legal li{font-size:.86rem;line-height:1.9;color:var(--muted-fg)}.legal strong{color:var(--foreground);font-weight:600}.legal ul{padding-left:1.3rem}.legal li+li{margin-top:.55rem}.legal a{text-underline-offset:3px}.legal a:hover{color:var(--foreground)}.pill{display:inline-block;border:1px solid var(--border);background:var(--surface);border-radius:30px;padding:.35rem .7rem;font-size:.65rem;color:var(--muted-fg)}.summary{border-left:3px solid var(--primary);background:var(--surface);border-radius:0 10px 10px 0;padding:1.2rem;margin:1.5rem 0;font-size:.8rem;line-height:1.9;color:var(--muted-fg)}.legal table{border-collapse:collapse;width:100%;font-size:.73rem;table-layout:fixed}.legal th,.legal td{border:1px solid var(--border);padding:.7rem;text-align:left;vertical-align:top;overflow-wrap:anywhere}.legal th{background:var(--surface);font-weight:600}
/* Chat and joining */
body.room{height:100vh;height:100dvh;overflow:hidden}.room-head{border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0}.room-head .in{max-width:1050px;margin:auto;padding:.8rem 1.5rem;display:flex;align-items:center;gap:1rem}.room-title{min-width:0;flex:1}.room-title h1{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.025em}.room-title small{font-size:.65rem;color:var(--muted-fg);display:block;margin-top:.1rem}.room-actions{display:flex;gap:.5rem;align-items:center}.room-head .brand img{width:34px;height:34px}.gate{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;padding:2rem 1rem;position:relative;background:radial-gradient(ellipse at 30% 40%,color-mix(in srgb,var(--primary) 10%,transparent),transparent 70%)}.gate .card{max-width:440px;width:100%;position:relative}.gate h2{font-size:1.65rem;margin-bottom:.65rem}.gate .hint{font-size:.73rem}.gate .field{margin-bottom:1.2rem}.gate .check{font-size:.68rem}.bg-grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(var(--border) 1px,transparent 1px);background-size:24px 24px;opacity:.6;mask-image:radial-gradient(ellipse,#000,transparent 75%)}
.chat{flex:1;min-height:0;display:flex;flex-direction:column;max-width:1000px;width:100%;margin:0 auto;position:relative}.messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.8rem 2rem;display:flex;flex-direction:column;gap:.9rem;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.empty{margin:auto;text-align:center;color:var(--muted-fg);max-width:24rem;padding:2rem 1rem}.empty:before{content:"✦";display:grid;place-items:center;font-size:2.1rem;color:#849347;width:68px;height:68px;background:var(--surface-2);border:1px solid var(--border);border-radius:22px;margin:0 auto 1.2rem}.empty h2{font-size:1.4rem;color:var(--foreground)}.empty p{font-size:.8rem;line-height:1.9}.day{align-self:center;font-size:.6rem;color:var(--muted-fg);background:var(--surface-2);border:1px solid var(--border);border-radius:30px;padding:.25rem .85rem;margin:.4rem 0 1rem}.msg{max-width:min(80%,36rem);display:flex;flex-direction:column;gap:.35rem;align-self:flex-start;min-width:0}.msg.mine{align-self:flex-end;align-items:flex-end}.msg .who{font-size:.65rem;font-weight:500;color:var(--muted-fg);padding:0 .25rem}.bubble{background:var(--card);border:1px solid var(--border);border-radius:2px 16px 16px 16px;padding:.75rem 1rem;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;font-size:.85rem;box-shadow:var(--shadow-soft)}.msg.mine .bubble{background:var(--mine);color:var(--mine-fg);border-color:color-mix(in srgb,var(--mine) 80%,var(--input));border-radius:16px 2px 16px 16px}.bubble a{text-underline-offset:3px}.meta{font-size:.58rem;color:var(--muted-fg);padding:0 .25rem;display:flex;gap:.7rem;align-items:center}.meta button{background:none;border:0;color:var(--muted-fg);font-size:.58rem;cursor:pointer;padding:.2rem 0;text-decoration:underline;text-underline-offset:3px}.meta button:hover{color:var(--destructive)}.bubble img{display:block;max-width:100%;max-height:22rem;border-radius:9px;cursor:zoom-in;background:var(--muted)}.bubble img.loading{min-width:8rem;min-height:5rem}.file{display:flex;gap:.8rem;align-items:center;text-decoration:none!important;white-space:normal}.file .ico{flex:none;width:39px;height:44px;border-radius:8px;background:var(--primary);color:var(--primary-fg);display:grid;place-items:center;font-size:.6rem;font-weight:700;text-transform:uppercase}.file b{display:block;font-size:.8rem;font-weight:500;line-height:1.5}.file small{font-size:.65rem;opacity:.75}
.composer{flex-shrink:0;margin:0 1.5rem 1.1rem;padding:.75rem;background:var(--card);border:1px solid var(--border);border-radius:15px;box-shadow:var(--shadow-elevated)}.composer form{display:flex;gap:.6rem;align-items:flex-end}.composer textarea{resize:none;max-height:9rem;min-height:43px;padding:.7rem .8rem;border-color:transparent;background:transparent;flex:1}.composer .icon-btn{height:43px;width:40px;background:var(--surface)}.composer .btn{min-height:43px}.progress{height:3px;background:var(--muted);border-radius:5px;overflow:hidden;margin-bottom:.6rem}.progress i{display:block;height:100%;width:0;background:var(--primary);transition:width .15s}.dropzone{position:absolute;inset:.75rem;z-index:10;display:grid;place-items:center;background:color-mix(in srgb,var(--card) 95%,var(--primary));border:2px dashed var(--ring);font:600 1.2rem var(--font-display);text-align:center;border-radius:18px;padding:1rem}.banner{background:var(--accent);padding:.5rem 1rem;font-size:.75rem;text-align:center;border-bottom:1px solid var(--border)}.toast{position:fixed;left:50%;bottom:8rem;transform:translateX(-50%);background:var(--secondary);color:var(--secondary-fg);padding:.75rem 1.2rem;border-radius:12px;font-size:.8rem;box-shadow:var(--shadow-elevated);z-index:100;max-width:90vw;overflow-wrap:anywhere}.lightbox{position:fixed;inset:0;z-index:90;background:#111b12ed;display:grid;place-items:center;cursor:zoom-out;padding:1.5rem;backdrop-filter:blur(8px)}.lightbox img{max-width:100%;max-height:100%;border-radius:12px}.modal{position:fixed;inset:0;z-index:80;background:#111b1299;display:grid;place-items:center;padding:1rem;backdrop-filter:blur(5px)}.modal .card{max-width:400px;width:100%}.modal h2{font-size:1.5rem}.modal p{font-size:.85rem;color:var(--muted-fg)}
.mb1{margin-bottom:1rem}.mt07{margin-top:.7rem}.w100{width:100%}.light{font-weight:400}
/* Responsive, without horizontal scrolling or covered controls */
@media(min-width:1400px){.hero>.in{padding-top:5.5rem;padding-bottom:5rem}}
@media(max-width:1000px){.hero>.in{gap:2.5rem;padding-top:3rem}.hero h1{font-size:clamp(2rem,4.6vw,3rem)}.create-card-content{padding:1.5rem}.hero-promises{gap:.5rem}.preview-live{display:none}.header-nav{gap:1.2rem}.footer-links{gap:.8rem}}
@media(max-width:760px){.site-header .in{padding:1rem 1.25rem}.header-nav>a{display:none}.free-label{font-size:.65rem}.hero>.in{grid-template-columns:1fr;padding:2rem 1.25rem 2.5rem;gap:2.4rem;max-width:580px}.hero-copy{padding-top:0}.hero h1{font-size:clamp(2.35rem,7.4vw,3.4rem)}.lead{max-width:29rem}.conversation-preview{max-width:100%;margin-top:1.8rem;transform:none}.hero-promises{gap:.5rem 1.2rem}.create-card-content{padding:1.5rem}.card-ribbon{padding:.7rem 1.5rem}.how-section{padding:0 1.25rem 2.5rem;max-width:580px}.section-heading{padding-top:2rem;display:block}.section-heading h2{font-size:1.65rem}.section-heading>p{margin-top:.8rem}.section-heading>p br{display:none}.steps-grid{grid-template-columns:1fr;gap:.7rem}.step-card{padding:1.3rem}.step-top{margin-bottom:1rem}.privacy-note{flex-wrap:wrap;gap:.65rem}.privacy-note p{flex-basis:80%}.privacy-note>a{margin-left:2rem}.site-footer{padding:2rem 1.25rem}.site-footer>.in{align-items:flex-start}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1.5rem;width:100%}.legal{width:calc(100% - 2rem);margin:1.5rem auto 2rem;padding:1.5rem}.legal th,.legal td{padding:.45rem;font-size:.65rem}.room-head .in{padding:.65rem 1rem;gap:.6rem}.room-title small{font-size:.59rem}.room-actions{gap:.35rem}.messages{padding:1rem;gap:.8rem}.msg{max-width:90%}.composer{margin:0 .7rem .7rem;padding:.5rem}.composer .btn{padding:.65rem .8rem}.gate{padding:1.5rem 1rem}.gate .card{padding:1.5rem}}
@media(max-width:480px){.free-label{display:none}.brand b{font-size:1.3rem}.hero h1{font-size:clamp(2rem,8vw,2.8rem)}.intro-badge{font-size:.6rem}.hero-promises{font-size:.6rem;gap:.5rem .8rem}.preview-message p{font-size:.6rem}.preview-room{font-size:.65rem}.card-description{font-size:.7rem}.option-text b{font-size:.65rem}.option-text small{font-size:.57rem}.card-ribbon{font-size:.58rem}.row2{grid-template-columns:1fr}.room-head .in{flex-wrap:wrap}.room-title{flex:1 1 10rem}.room-title h1{white-space:normal}.room-actions{width:100%;justify-content:flex-end}.room-actions .btn{font-size:.65rem}.room-head .brand{order:0}.legal h1{font-size:1.8rem}.copyrow{gap:.3rem}.copyrow .btn{padding:.5rem}.privacy-note>a{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* Les actions de confirmation partagent la largeur disponible, sans déborder. */
.modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-top:1.2rem}
.modal-actions .btn{min-width:0;padding-inline:.65rem;overflow-wrap:anywhere}

/* Ouverture et fermeture réversibles de la salle. */
.room-status{display:inline-block;margin-top:.25rem;padding:.1rem .45rem;border-radius:20px;background:var(--surface-2);color:var(--success);font-size:.57rem;font-weight:500}
.room-status.is-closed{background:var(--accent);color:var(--foreground)}
.closed-banner{flex-shrink:0;font-size:.7rem}
.gate-status{padding:.8rem;border:1px solid var(--border);border-left:3px solid var(--primary);background:var(--accent);border-radius:8px;font-size:.75rem;line-height:1.7}
input:disabled,textarea:disabled{opacity:.65;cursor:not-allowed}.icon-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
@media(min-width:481px) and (max-width:900px){.room-head .in{flex-wrap:wrap}.room-actions{flex-basis:100%;justify-content:flex-end}}
@media(max-width:480px){.room-actions{flex-wrap:wrap}.room-actions .btn .icon{width:15px;height:15px}}
/* Modération : panneau défilant, aucune adresse IP affichée. */
.moderation-panel{flex-shrink:0;max-height:42dvh;overflow:auto;overscroll-behavior:contain;background:var(--card);border-bottom:1px solid var(--border);padding:1rem max(1rem,calc((100% - 950px)/2));font-size:.75rem}
.moderation-heading{display:flex;gap:1rem;align-items:center;justify-content:space-between}.moderation-heading h2{font-size:1.15rem}.moderation-panel h3{font-size:.9rem;margin:1.2rem 0 .6rem}.moderation-warning{padding:.6rem .8rem;border-radius:8px;background:var(--accent);font-size:.68rem}.participants-list{font-size:.72rem;color:var(--muted-fg)}.participant-row{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.participant-row>span{min-width:0}.participant-actions{display:flex;gap:.4rem;flex-shrink:0}.participant-actions .btn{font-size:.64rem}.room-head .in{flex-wrap:wrap}.room-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:600px){.participant-row{align-items:flex-start;flex-direction:column}.participant-actions{flex-wrap:wrap}.moderation-heading{align-items:flex-start}.room-actions{width:100%}.room-actions .btn{min-height:34px;padding:.4rem .55rem}.moderation-panel{max-height:38dvh}}
/* Émojis locaux et retour anti-spam accessible. */
.composer{position:relative}.emoji-picker{position:absolute;z-index:45;bottom:calc(100% + .6rem);left:0;width:min(340px,100%);max-height:min(360px,45dvh);overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:15px;padding:1rem;box-shadow:var(--shadow-elevated)}.emoji-heading{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;margin-bottom:.7rem}.emoji-heading>span{font-size:1.2rem;color:var(--muted-fg)}.emoji-picker input[type=search]{width:100%;min-width:0;border:1px solid var(--input);border-radius:8px;background:var(--background);color:var(--foreground);padding:.6rem .7rem;font-size:.75rem}.emoji-categories{display:flex;gap:.3rem;flex-wrap:wrap;margin:.65rem 0}.emoji-categories button{border:1px solid transparent;border-radius:7px;background:var(--surface);color:var(--muted-fg);font-size:.63rem;padding:.35rem .5rem;cursor:pointer}.emoji-categories button[aria-pressed=true]{background:var(--accent);color:var(--foreground);border-color:var(--border)}.emoji-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem}.emoji-choice{min-width:0;min-height:38px;border:1px solid transparent;background:transparent;border-radius:9px;font:1.45rem/1.3 system-ui;cursor:pointer}.emoji-choice:hover{background:var(--surface-2);border-color:var(--border)}.send-feedback{font-size:.68rem;color:var(--muted-fg);margin:0 0 .5rem;padding:.45rem .6rem;background:var(--accent);border-radius:7px}
@media(max-width:480px){#send-btn:not(:disabled) #send-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.composer #send-btn{padding:.7rem;flex-shrink:0}.composer form{gap:.35rem}.emoji-picker{max-height:40dvh}}

/* Un message provisoire reste explicitement non confirmé jusqu’à la réponse API. */
.msg.pending .bubble{opacity:.65}.msg.pending .meta{font-style:italic}

/* État de sécurité exclusivement rendu dans la session administrateur. */

/* Démarrage et accès secret réservés à la session propriétaire. */
.owner-start-controls{flex-shrink:0;max-height:32dvh;overflow:auto;background:var(--card);border-bottom:1px solid var(--border);padding:.8rem max(1rem,calc((100% - 950px)/2));font-size:.75rem}.owner-start-controls h2{font-size:1.05rem}.admin-access{padding:.2rem 0 .8rem;border-bottom:1px solid var(--border);font-size:.75rem}.admin-access summary{cursor:pointer;font-weight:700;margin:.5rem 0}.admin-access .copyrow{margin:.45rem 0}.admin-access .copyrow input{min-width:0;width:100%;font-size:.7rem}.admin-access .hint{margin:.45rem 0}.admin-access label{font-size:.68rem}
@media(max-width:600px){.owner-start-controls{max-height:30dvh}.admin-access .copyrow{flex-wrap:wrap}.admin-access .copyrow .btn{width:100%}}

/* Annonces serveur, sans actions ni bulle de message utilisateur. */
.msg.system-message{align-self:center;text-align:center;max-width:100%;margin:.3rem 0;padding:.25rem .65rem;font-size:.7rem;color:var(--muted-fg);overflow-wrap:anywhere}

/* Présence de saisie, indépendante de l’historique des messages. */
.typing-indicator{display:flex;align-items:center;gap:.6rem;flex-shrink:0;align-self:flex-start;max-width:calc(100% - 3rem);margin:0 1.5rem .65rem;padding:.5rem .8rem;background:var(--card);border:1px solid var(--border);border-radius:13px 13px 13px 3px;box-shadow:var(--shadow-soft);color:var(--muted-fg);font-size:.7rem;overflow-wrap:anywhere}
.typing-dots{display:flex;gap:4px;align-items:center;min-height:14px;flex:none}.typing-dots i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:typing-bounce 1.2s infinite ease-in-out}.typing-dots i:nth-child(2){animation-delay:.15s}.typing-dots i:nth-child(3){animation-delay:.3s}
@keyframes typing-bounce{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-4px);opacity:1}}
@media(max-width:760px){.typing-indicator{margin-left:.7rem;max-width:calc(100% - 1.4rem)}}
