/* Couche finale de cohérence.
   Elle est volontairement chargée après les styles historiques et les
   préférences d’accessibilité afin que les mêmes fondations gagnent partout. */
:root {
  --ui-control-radius: 12px;
  --ui-card-radius: 20px;
  --ui-hero-radius: 24px;
  --ui-hairline: color-mix(in srgb, var(--border) 88%, transparent);
  --ui-surface: color-mix(in srgb, var(--card) 97%, var(--bg));
  --ui-soft: color-mix(in srgb, var(--accent) 7%, var(--card));
  --ui-shadow: 0 1px 2px color-mix(in srgb, var(--text) 5%, transparent),
               0 10px 28px color-mix(in srgb, var(--text) 6%, transparent);
  --ui-shadow-float: 0 18px 48px color-mix(in srgb, var(--text) 14%, transparent);
}

html { color-scheme: light; }
html[data-theme="dark"] { color-scheme: dark; }
body { background: var(--bg); color: var(--text); }
.container,
.site-header .inner,
.context-nav-inner { width: 100%; max-width: var(--content-max-width); }
#main-content { min-width: 0; }

:where(.card,.admin-panel,.real-admin-card,.meeting-card,.forum-section-card,
  .forum-category-card,.discover-card,.public-club-card,.club-category-card,
  .profile-collapsible,.notification-card,.health-card,.protection-card) {
  min-width: 0;
  border-color: var(--ui-hairline);
  border-radius: var(--ui-card-radius);
  background: var(--ui-surface);
  color: var(--text);
  box-shadow: var(--ui-shadow);
}
:where(.community-hero,.page-hero,.club-hero,.public-club-hero,
  .club-directory-hero,.spaces-hub-hero,.discover-hero,.ideas-hero,
  .real-admin-hero,.club-admin-intro) {
  min-width: 0;
  border-radius: var(--ui-hero-radius);
}

:where(h1,h2,h3,strong,label,legend) { color: var(--text); }
:where(p,small,.page-sub,.field-hint,.form-help,.help-text) { overflow-wrap: anywhere; }
:where(.page-sub,.field-hint,.form-help,.help-text) { color: var(--text-sub); }
:where(.home-kicker,.section-kicker,.page-kicker,.admin-kicker) {
  color: var(--accent);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1.3;
}

:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border-color: var(--ui-hairline);
  border-radius: var(--ui-control-radius);
  background: color-mix(in srgb, var(--card) 86%, var(--bg));
  color: var(--text);
  font: inherit;
}
:where(input,select,textarea)::placeholder { color: var(--text-sub); opacity: .72; }
:where(.btn,.button,button:not(.unstyled-button),summary) {
  max-width: 100%;
  border-radius: var(--ui-control-radius);
  font-family: inherit;
}
:where(.btn,.button,button:not(.unstyled-button)) { min-height: 42px; }
.btn-primary,
.button-primary {
  border-color: var(--accent);
  background: var(--accent);
  color: var(--accent-text, #fff);
  box-shadow: 0 5px 15px color-mix(in srgb, var(--accent) 20%, transparent);
}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 42%, transparent);
  outline-offset: 3px;
}

:where(form,.form-grid,.real-admin-form,.admin-edit-form,
  .profile-settings-content,.public-inline-editor-form) { min-width: 0; }
:where(.form-grid,.real-admin-two-col,.admin-edit-form-grid,
  .profile-form-grid,.public-editor-grid) > * { min-width: 0; }
:where(.form-actions,.admin-actions,.real-admin-actions,.email-composer-actions) {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

:where(table) { width: 100%; border-collapse: collapse; }
:where(th,td) { padding: 11px 12px; border-bottom: 1px solid var(--ui-hairline); text-align: left; }
:where(th) { color: var(--text-sub); font-size: .78rem; letter-spacing: .03em; }
:where(.table-wrap,.admin-table-wrap,.responsive-table) {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--ui-hairline);
  border-radius: var(--ui-card-radius);
  background: var(--ui-surface);
  -webkit-overflow-scrolling: touch;
}

:where(dialog,.modal-card,.event-preview-card,.display-menu-panel,
  .account-menu-panel,.space-switcher-menu,.nav-dropdown-menu,
  .admin-nav-dropdown-panel,.real-space-admin-dropdown-panel) {
  max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px);
  border-color: var(--ui-hairline);
  background: var(--ui-surface);
  color: var(--text);
  box-shadow: var(--ui-shadow-float);
}

/* Les deux consoles partagent exactement les mêmes états. */
.admin-nav.admin-nav-modern,
.real-space-admin-menu.real-space-admin-modern {
  border-color: var(--ui-hairline);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow);
}
.admin-nav-modern :where(.admin-nav-primary a,.admin-nav-dropdown summary),
.real-space-admin-modern :where(.real-space-admin-primary a,.real-space-admin-dropdown summary) {
  color: var(--text-sub);
}
.admin-nav-modern :where(.admin-nav-primary a.is-active,.admin-nav-dropdown summary.is-active),
.real-space-admin-modern :where(.real-space-admin-primary a.is-active,.real-space-admin-dropdown summary.is-active) {
  border-color: color-mix(in srgb, var(--accent) 32%, var(--border));
  background: var(--ui-soft);
  color: var(--accent);
  box-shadow: none;
}
.admin-nav-modern :where(.admin-nav-primary a,.admin-nav-dropdown-panel a) > img { width:24px; height:24px; flex:0 0 24px; border-radius:8px; object-fit:contain; }

html[data-theme="dark"] :where(.card,.admin-panel,.real-admin-card,.meeting-card,
  .forum-section-card,.forum-category-card,.discover-card,.public-club-card,
  .club-category-card,.profile-collapsible,.notification-card,.health-card,
  .protection-card,.admin-nav,.real-space-admin-menu) {
  background: var(--ui-surface);
  color: var(--text);
}
html[data-theme="dark"] :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  background: color-mix(in srgb, var(--bg) 72%, var(--card));
  color: var(--text);
}

@media (max-width: 760px) {
  :root { --ui-card-radius: 18px; --ui-hero-radius: 20px; }
  .container,
  .site-header .inner,
  .context-nav-inner { padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); }
  #main-content { overflow: clip; }
  :where(.card,.admin-panel,.real-admin-card,.meeting-card,
    .forum-section-card,.forum-category-card,.discover-card,.public-club-card,
    .club-category-card,.profile-collapsible,.notification-card,.health-card,
    .protection-card) { max-width: 100%; }
  :where(.form-grid,.real-admin-two-col,.admin-edit-form-grid,
    .profile-form-grid,.public-editor-grid) { grid-template-columns: minmax(0, 1fr); }
  :where(.form-actions,.admin-actions,.real-admin-actions,.email-composer-actions) {
    align-items: stretch;
    flex-direction: column;
  }
  :where(.form-actions,.admin-actions,.real-admin-actions,.email-composer-actions) > :where(.btn,.button,button) {
    width: 100%;
    justify-content: center;
  }
  :where(.btn,.button,button:not(.unstyled-button),input,select,textarea,summary) { min-height: 44px; }
  :where(dialog,.modal-card,.event-preview-card,.display-menu-panel) {
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px - env(safe-area-inset-bottom));
    overflow: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Centre d’aide : parcours d’apprentissage progressifs. */
.help-academy { margin: 0 0 30px; padding: clamp(18px, 3vw, 28px); }
.help-academy-head { display: grid; grid-template-columns: minmax(0,1fr) 180px; align-items: center; gap: 24px; padding-bottom: 20px; border-bottom: 1px solid var(--ui-hairline); }
.help-academy-head h2 { margin: 5px 0; font-size: clamp(1.45rem, 2.4vw, 2rem); }
.help-academy-head p { max-width: 720px; margin: 0; color: var(--text-sub); }
.help-academy-progress { display: grid; gap: 4px; padding: 13px; border-radius: 15px; background: var(--ui-soft); }
.help-academy-progress strong { color: var(--accent); font-size: 1.4rem; }
.help-academy-progress span { color: var(--text-sub); font-size: .78rem; }
.help-academy-progress progress { width: 100%; height: 7px; accent-color: var(--accent); }
.help-pola-capabilities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0 10px; }
.help-pola-capabilities > div { min-width:0; padding:14px; border:1px solid var(--ui-hairline); border-radius:15px; background:var(--ui-soft); }
.help-pola-capabilities strong { display:block; margin-bottom:5px; font-size:.86rem; }
.help-pola-capabilities p,.help-pola-safety { margin:0; color:var(--text-sub); font-size:.78rem; line-height:1.5; }
.help-pola-safety { padding:10px 13px; border-left:3px solid var(--accent); background:color-mix(in srgb,var(--accent) 5%,transparent); }
.help-course-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 18px; }
.help-course { display: grid; grid-template-columns: 46px minmax(0,1fr); gap: 12px; min-width: 0; padding: 17px; border: 1px solid var(--ui-hairline); border-radius: 17px; background: color-mix(in srgb,var(--card) 86%,var(--bg)); }
.help-course-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--ui-soft); font-size: 1.3rem; }
.help-course small { color: var(--accent); font-size: .66rem; font-weight: 850; letter-spacing: .07em; }
.help-course h3 { margin: 2px 0 0; font-size: 1.02rem; }
.help-course-start { display: inline-flex; margin-top: 7px; color: var(--accent); font-size: .82rem; font-weight: 800; text-decoration: none; }
.help-course-start:hover { text-decoration: underline; }
.help-immersive-start { margin-top: 16px; }
.help-course ol { grid-column: 1/-1; display: grid; gap: 7px; margin: 3px 0 0; padding: 0; list-style: none; }
.help-course label { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 9px; align-items: start; padding: 9px; border-radius: 11px; cursor: pointer; }
.help-course label:hover { background: var(--ui-soft); }
.help-course input { width: 19px; height: 19px; margin: 2px 0 0; accent-color: var(--accent); }
.help-course input:checked + span { color: var(--text-sub); text-decoration: line-through; text-decoration-thickness: 1px; }
.help-training-reset { margin-top: 14px; padding: 7px 2px; border: 0; background: transparent; color: var(--text-sub); font-size: .78rem; font-weight: 750; cursor: pointer; }
.help-training-reset:hover { color: var(--accent); }
@media (max-width:760px) {
  .help-academy-head { grid-template-columns: 1fr; gap: 14px; }
  .help-academy-progress { grid-template-columns: auto 1fr; align-items: center; }
  .help-academy-progress progress { grid-column: 1/-1; }
  .help-course-grid,.help-pola-capabilities { grid-template-columns: 1fr; }
  .help-course { padding: 14px; }
}

/* Leçons complètes du centre d’aide. */
.help-lesson-page { width: min(var(--content-max, 1180px), calc(100% - 32px)); margin: 24px auto 64px; }
.help-lesson-breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; margin: 0 0 14px; color: var(--text-sub); font-size: .84rem; }
.help-lesson-breadcrumb a { color: var(--accent); }
.help-lesson-hero { display: grid; grid-template-columns: 66px minmax(0,1fr); gap: 18px; align-items: center; padding: clamp(20px,4vw,38px); }
.help-lesson-hero-icon { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 20px; background: var(--ui-soft); font-size: 2rem; }
.help-lesson-hero h1 { margin: 5px 0; }
.help-lesson-hero p { margin: 0; max-width: 760px; color: var(--text-sub); }
.help-lesson-layout { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 18px; align-items: start; margin-top: 18px; }
.help-course-nav { position: sticky; top: calc(var(--site-header-height, 100px) + 18px); padding: 18px; }
.help-course-nav h2 { margin: 5px 0; font-size: 1.12rem; }
.help-course-nav > p { margin: 0 0 14px; color: var(--text-sub); font-size: .86rem; }
.help-course-nav ol { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.help-course-nav li a { display: grid; grid-template-columns: 30px minmax(0,1fr) 18px; gap: 8px; align-items: center; padding: 9px; border-radius: 12px; color: var(--text); text-decoration: none; }
.help-course-nav li a:hover,.help-course-nav li a.is-active { background: var(--ui-soft); }
.help-course-nav li a.is-active { outline: 1px solid var(--accent); }
.help-course-nav li a > span:first-child { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--card); color: var(--accent); font-weight: 850; }
.help-course-nav li a strong,.help-course-nav li a small { display: block; overflow-wrap: anywhere; }
.help-course-nav li a small { color: var(--text-sub); }
.help-course-nav li a em { visibility: hidden; color: var(--success, #168451); font-style: normal; }
.help-course-nav li a.is-complete em { visibility: visible; }
.help-course-back { display: inline-block; margin-top: 14px; color: var(--accent); font-size: .83rem; font-weight: 750; }
.help-lesson-content { display: grid; gap: 14px; min-width: 0; }
.help-lesson-purpose { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; padding: 19px; }
.help-lesson-purpose > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; background: var(--ui-soft); color: var(--accent); font-size: 1.35rem; }
.help-lesson-purpose p { margin: 5px 0 0; }
.help-lesson-steps { padding: clamp(20px,4vw,32px); }
.help-lesson-steps h2 { margin: 5px 0 18px; }
.help-lesson-steps ol { display: grid; gap: 12px; margin: 0 0 20px; padding: 0; list-style: none; }
.help-lesson-steps li { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 12px; align-items: start; }
.help-lesson-steps li > span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--ui-soft); color: var(--accent); font-weight: 850; }
.help-lesson-steps li p { margin: 5px 0; overflow-wrap: anywhere; }
.help-lesson-tip { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; padding: 17px; border: 1px solid var(--ui-hairline); border-radius: 16px; background: var(--ui-soft); }
.help-lesson-tip p { margin: 4px 0 0; color: var(--text-sub); }
.help-lesson-validation { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 18px; align-items: center; padding: 22px; }
.help-lesson-validation h2 { margin: 4px 0; font-size: 1.18rem; }
.help-lesson-validation p { margin: 0; color: var(--text-sub); }
.help-lesson-status { grid-column: 1/-1; color: var(--success, #168451) !important; font-weight: 750; }
.help-lesson-validation .is-complete { background: var(--success, #168451); }
.help-lesson-pagination { display: flex; justify-content: space-between; gap: 10px; }

/* Pola : accompagnement immersif, déplaçable et accessible depuis le centre d’aide. */
.header-pola-button { display:flex; align-items:center; gap:7px; min-height:44px; padding:4px 10px 4px 5px; border:1px solid color-mix(in srgb,var(--accent) 34%,var(--ui-hairline)); border-radius:14px; background:color-mix(in srgb,var(--accent) 7%,var(--card)); color:var(--text); cursor:pointer; }
.header-pola-button img { width:36px; height:36px; object-fit:contain; border-radius:11px; }
.header-pola-button span { display:grid; text-align:left; line-height:1.05; }
.header-pola-button strong { color:var(--accent); font-size:.78rem; }
.header-pola-button small { margin-top:3px; color:var(--text-sub); font-size:.6rem; white-space:nowrap; }
@media (min-width:761px) and (max-width:1180px) { .header-pola-button small { display:none; } }
.mobile-pola-action { width:100%; border:0; background:transparent; color:var(--text); text-align:left; font:inherit; cursor:pointer; }
.mobile-pola-action .nav-icon img { width:30px; height:30px; object-fit:contain; }
.mobile-pola-action > span:last-child { display:grid; }
.mobile-pola-action small { color:var(--text-sub); font-size:.72rem; font-weight:600; }
.dashboard-pola-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:16px; margin:16px 0; background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 9%,var(--card)),var(--card)); }
.dashboard-pola-card > img { width:74px; height:74px; object-fit:contain; border-radius:22px; background:color-mix(in srgb,var(--accent) 9%,var(--card)); }
.dashboard-pola-card h2 { margin:3px 0 4px; }
.dashboard-pola-card p { margin:0; color:var(--text-sub); }
.guided-help { position: relative; z-index: 2147480000; }
.guided-help-launcher { position: fixed; z-index: 2147480001; right: max(18px,env(safe-area-inset-right)); bottom: max(18px,calc(env(safe-area-inset-bottom) + 18px)); display: grid; place-items: center; width: 66px; height: 66px; padding:0; overflow:hidden; border: 2px solid color-mix(in srgb,var(--accent) 66%,var(--ui-hairline)); border-radius: 50%; background: radial-gradient(circle at 45% 30%,color-mix(in srgb,var(--accent) 26%,var(--card)),var(--card) 75%); color: var(--accent-contrast,#fff); box-shadow: 0 12px 32px rgba(0,0,0,.28),0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent); cursor: grab; touch-action:none; user-select:none; -webkit-user-select:none; }
.guided-help-launcher.is-dragging { cursor:grabbing; }
.guided-help-launcher span { animation: guided-help-breathe 2.2s ease-in-out infinite; }
.guided-help-launcher img { width: 64px; height: 64px; object-fit: contain; pointer-events:none; transform-origin:50% 72%; will-change:transform; }
.guided-help-launcher::after { content:""; position:absolute; left:50%; top:70%; width:26px; height:26px; border-radius:50%; background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.8) 12%,rgba(160,218,255,.35) 42%,transparent 68%); transform:translate(-50%,-50%) scale(.35); opacity:0; pointer-events:none; }
.guided-help-launcher:not(.pola-motion-ready) img { animation:pola-photo-pose 5.5s ease-in-out infinite; }
.guided-help-launcher:not(.pola-motion-ready)::after { animation:pola-camera-flash 5.5s ease-out infinite; }
.guided-help-launcher.is-snapping::after { animation:pola-camera-snap .48s ease-out both; }
.guided-help-launcher.is-dragging img,.guided-help-launcher.is-dragging::after { animation-play-state:paused; }
@keyframes pola-photo-pose { 0%,62%,84%,100% { transform:rotate(0) translateY(0) scale(1); } 69% { transform:rotate(-5deg) translateY(-2px) scale(1.035); } 76% { transform:rotate(2deg) translateY(1px) scale(1); } }
@keyframes pola-camera-flash { 0%,69%,75%,100% { opacity:0; transform:translate(-50%,-50%) scale(.35); } 72% { opacity:.8; transform:translate(-50%,-50%) scale(1.15); } }
@keyframes pola-camera-snap { 0%,22%,100% { opacity:0; transform:translate(-50%,-50%) scale(.35); } 42% { opacity:.8; transform:translate(-50%,-50%) scale(1.15); } 66% { opacity:0; transform:translate(-50%,-50%) scale(1.4); } }
.guided-help-shade { position: fixed; z-index: 2147479997; inset: 0; background: rgba(10,12,20,.38); pointer-events: none; backdrop-filter: blur(1px); }
.guided-help-target { position: relative !important; z-index: 2147479999 !important; outline: 4px solid var(--accent) !important; outline-offset: 6px; border-radius: 10px; box-shadow: 0 0 0 9999px rgba(10,12,20,.05),0 0 28px color-mix(in srgb,var(--accent) 65%,transparent) !important; }
.guided-help-pointer { position: fixed; z-index: 2147480002; width: 34px; height: 42px; transform: translateX(-50%); pointer-events: none; filter: drop-shadow(0 3px 5px rgba(0,0,0,.35)); animation: guided-help-point 1s ease-in-out infinite; }
.guided-help-pointer::before { content: ''; display: block; width: 22px; height: 30px; border: 3px solid #fff; border-radius: 50% 50% 55% 45%; background: var(--accent); transform: rotate(-18deg); }
.guided-help-pointer span { position: absolute; left: 17px; top: 23px; width: 13px; height: 16px; border-radius: 8px; background: var(--accent); border: 3px solid #fff; transform: rotate(-34deg); }
.guided-help-card { position: fixed; z-index: 2147480003; right: max(18px,env(safe-area-inset-right)); bottom: max(18px,calc(env(safe-area-inset-bottom) + 18px)); display:flex; flex-direction:column; box-sizing:border-box; width: min(370px,calc(100vw - 28px)); height:min(620px,calc(100dvh - 36px)); max-height:calc(100dvh - 36px); overflow:hidden; padding: 0; border: 1px solid color-mix(in srgb,var(--accent) 34%,var(--ui-hairline)); border-radius: 24px; background: var(--card); color: var(--text); box-shadow: 0 22px 75px rgba(0,0,0,.32); }
.guided-help-card[hidden],.guided-help-launcher[hidden],.guided-help-shade[hidden],.guided-help-pointer[hidden] { display: none !important; }
.guided-help-head { display: flex; flex:none; justify-content: space-between; align-items: center; min-width:0; padding: 12px 12px 8px; border-bottom: 1px solid var(--ui-hairline); }
.guided-help-head-actions { display: flex; gap: 6px; }
.guided-help-drag { display: flex; align-items: center; gap: 9px; min-width:0; min-height: 40px; padding: 3px 9px 3px 4px; border: 0; background: transparent; color: var(--text); cursor: grab; touch-action:none; user-select:none; }
.guided-help-card.is-dragging .guided-help-drag { cursor: grabbing; }
.guided-help-mascot { display: grid; place-items: center; width: 48px; height: 48px; overflow: hidden; border-radius: 16px 16px 16px 6px; background: color-mix(in srgb,var(--accent) 9%,var(--card)); box-shadow: 0 6px 16px color-mix(in srgb,var(--accent) 20%,transparent); }
.guided-help-mascot img { width: 52px; height: 52px; object-fit: contain; object-position: center top; pointer-events:none; }
.guided-help-name { font-weight: 850; }
.guided-help-role { display:block; margin-top:1px; color:var(--text-sub); font-size:.68rem; text-align:left; }
.guided-help-close,.guided-help-speak,.guided-help-new { width: 40px; height: 40px; min-height: 40px; border: 1px solid var(--ui-hairline); border-radius: 50%; background: transparent; color: var(--text); font-size: 1.5rem; cursor: pointer; }
.guided-help-speak { font-size: 1rem; color: var(--accent); }
.guided-help-new { font-size:1.1rem; color:var(--accent); }
.guided-help-body { display:flex; flex-direction:column; flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding: 19px 20px 16px; }
.guided-help-counter { display: block; color: var(--accent); font-size: .67rem; font-weight: 850; letter-spacing: .08em; }
.guided-help-body h2 { margin: 6px 0 8px; font-size: 1.35rem; line-height: 1.16; overflow-wrap: anywhere; }
.guided-help-copy { margin: 0; color: var(--text-sub); line-height: 1.52; }
.guided-help-topics { display:flex; flex-direction:column; flex:1; min-height:0; gap:7px; margin-top:15px; }
.guided-help-topics[hidden] { display: none !important; }
.guided-help-chat { display:flex; flex-direction:column; flex:1; gap:9px; min-height:0; overflow-y:auto; padding:3px 3px 12px; scroll-behavior:smooth; overscroll-behavior:contain; }
.guided-help-message { display:flex; flex-direction:column; max-width:88%; }
.guided-help-message.is-pola { align-self:flex-start; align-items:flex-start; }
.guided-help-message.is-user { align-self:flex-end; align-items:flex-end; }
.guided-help-message time { margin:3px 6px 0; color:var(--text-sub); font-size:.58rem; opacity:.72; }
.guided-help-feedback { display:flex; flex-wrap:wrap; align-items:center; gap:5px; margin:5px 4px 0; color:var(--text-sub); font-size:.64rem; }
.guided-help-feedback > span { margin-right:2px; }
.guided-help-feedback button { display:grid; place-items:center; width:30px; min-height:30px; padding:0; border:1px solid var(--ui-hairline); border-radius:50%; background:var(--card); color:var(--text); font-size:.83rem; cursor:pointer; }
.guided-help-feedback button:hover,.guided-help-feedback button.is-active { border-color:var(--accent); background:color-mix(in srgb,var(--accent) 14%,var(--card)); transform:translateY(-1px); }
.guided-help-feedback button:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 32%,transparent); outline-offset:2px; }
.guided-help-feedback small { flex-basis:100%; min-height:1em; color:var(--accent); }
.guided-help-bubble { width:fit-content; max-width:88%; padding:10px 12px; border-radius:16px; font-size:.86rem; line-height:1.42; overflow-wrap:anywhere; white-space:pre-wrap; }
.guided-help-bubble.has-rich-text { white-space:normal; }
.guided-help-bubble .pola-rich-title { display:block; margin:1px 0 7px; font-size:.94rem; font-weight:900; line-height:1.3; }
.guided-help-bubble .pola-rich-paragraph { margin:0; }
.guided-help-bubble .pola-rich-paragraph + .pola-rich-paragraph { margin-top:7px; }
.guided-help-bubble .pola-rich-list { margin:7px 0 2px; padding-left:20px; }
.guided-help-bubble .pola-rich-list li + li { margin-top:4px; }
.guided-help-bubble strong { font-weight:900; }
.guided-help-bubble code { padding:1px 4px; border-radius:5px; background:color-mix(in srgb,var(--text) 8%,transparent); font:inherit; font-size:.92em; }
.guided-help-message .guided-help-bubble { max-width:100%; }
.guided-help-bubble.is-pola { align-self:flex-start; border-bottom-left-radius:5px; background:var(--ui-soft); color:var(--text); }
.guided-help-bubble.is-user { align-self:flex-end; border-bottom-right-radius:5px; background:var(--accent); color:var(--accent-contrast,#fff); }
.guided-help-bubble.is-pending { color:var(--text-sub); font-style:italic; animation:guided-help-pulse 1.15s ease-in-out infinite; }
.guided-help-chat-shortcuts { display:flex; flex-wrap:wrap; gap:6px; padding:2px 0 5px; }
.guided-help-chat-shortcuts button { min-height:34px; padding:6px 10px; border:0; border-radius:999px; background:var(--ui-soft); color:var(--accent); font-size:.72rem; }
.guided-help-question { display: grid; gap: 7px; margin:0; padding-top:8px; border-top: 1px solid var(--ui-hairline); }
.guided-help-question label { font-size: .78rem; font-weight: 800; }
.guided-help-question > div { display: grid; grid-template-columns: minmax(0,1fr) auto auto auto; gap: 6px; }
.guided-help-question input { width: 100%; min-width: 0; min-height: 44px; padding: 9px 10px; border: 1px solid var(--ui-hairline); border-radius: 11px; background: var(--bg); color: var(--text); }
.guided-help-question > div button { display:grid; place-items:center; width:44px; padding:0; text-align:center; border-radius:50%; background:var(--accent); color:var(--accent-contrast,#fff); font-size:1rem; }
.guided-help-question > div .guided-help-photo { border:1px solid var(--ui-hairline); background:var(--ui-soft); color:var(--accent); font-size:.9rem; }
.guided-help-photo-preview { display:grid; grid-template-columns:48px minmax(0,1fr) 30px; align-items:center; gap:8px; padding:7px; border:1px solid var(--ui-hairline); border-radius:12px; background:var(--ui-soft); font-size:.72rem; }
.guided-help-photo-preview[hidden] { display:none !important; }
.guided-help-photo-preview img { width:48px; height:48px; border-radius:9px; object-fit:cover; }
.guided-help-photo-preview button { grid-column:3; grid-row:1; width:30px; min-height:30px; padding:0; border:0; border-radius:50%; background:var(--card); color:var(--text); text-align:center; }
.guided-help-photo-preview span { grid-column:2; grid-row:1; color:var(--text-sub); }
.guided-help-question > div .guided-help-mic { border:1px solid var(--ui-hairline); background:var(--ui-soft); color:var(--accent); font-size:.72rem; }
.guided-help-question > div .guided-help-mic.is-listening { animation:guided-help-pulse .8s ease-in-out infinite; background:var(--accent); color:var(--accent-contrast,#fff); }
.guided-help-question-status { color: var(--text-sub); line-height: 1.35; }
.guided-help-results { display:grid; align-self:flex-start; gap:5px; width:88%; margin:0 0 2px; }
.guided-help-results a { padding:9px 10px; border:1px solid var(--ui-hairline); border-radius:10px; color:var(--text); font-size:.8rem; line-height:1.3; text-decoration:none; overflow-wrap:anywhere; }
.guided-help-results a:hover { border-color:var(--accent); color:var(--accent); }
.guided-help-page-targets { display:grid; align-self:flex-start; gap:5px; width:88%; }
.guided-help-page-targets button { min-height:38px; padding:8px 10px; border:1px solid color-mix(in srgb,var(--accent) 48%,var(--ui-hairline)); border-radius:10px; background:color-mix(in srgb,var(--accent) 8%,var(--card)); color:var(--accent); font-size:.78rem; font-weight:800; text-align:left; cursor:pointer; }
.guided-help-page-targets button:hover { background:color-mix(in srgb,var(--accent) 15%,var(--card)); }
.guided-help-ai-guide { align-self:flex-start; width:auto !important; margin:0 0 5px; text-align:center !important; border-color:var(--accent) !important; background:var(--accent) !important; color:var(--accent-contrast,#fff) !important; }
.guided-help-confirm { display:grid; gap:8px; align-self:stretch; margin:3px 0 6px; padding:12px; border:1px solid color-mix(in srgb,var(--accent) 52%,var(--ui-hairline)); border-radius:15px; background:color-mix(in srgb,var(--accent) 7%,var(--card)); box-shadow:0 8px 24px rgba(0,0,0,.08); }

/* Journal qualité de Pola */
.pola-admin-page { display:grid; gap:20px; width:min(100% - 32px,1280px); margin:24px auto 64px; }
.pola-admin-head { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0; }
.pola-admin-head > div { max-width:800px; }
.pola-admin-head > img { width:104px; height:104px; border-radius:28px; object-fit:contain; background:var(--ui-soft); }
.pola-admin-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.pola-admin-stats article { display:grid; gap:4px; padding:20px; border:1px solid var(--ui-hairline); border-radius:18px; background:var(--ui-surface); box-shadow:var(--ui-shadow); }
.pola-admin-stats strong { font-size:clamp(1.55rem,3vw,2.2rem); line-height:1; }
.pola-admin-stats span { color:var(--text-sub); font-size:.82rem; }
.pola-admin-stats .is-positive strong { color:#178746; }
.pola-admin-stats .is-negative strong { color:#c23d38; }
.pola-admin-filters { display:grid; grid-template-columns:minmax(220px,2fr) repeat(3,minmax(140px,1fr)) auto auto; align-items:end; gap:10px; padding:16px; border:1px solid var(--ui-hairline); border-radius:18px; background:var(--ui-surface); box-shadow:var(--ui-shadow); }
.pola-admin-filters label { display:grid; gap:6px; min-width:0; }
.pola-admin-filters label > span { font-size:.72rem; font-weight:850; color:var(--text-sub); }
.pola-admin-filters :where(input,select) { width:100%; min-width:0; min-height:44px; }
.pola-admin-filters :where(button,a) { min-height:44px; white-space:nowrap; }
.pola-admin-journal { display:grid; gap:14px; }
.pola-admin-exchange { overflow:hidden; border:1px solid var(--ui-hairline); border-radius:20px; background:var(--ui-surface); box-shadow:var(--ui-shadow); }
.pola-admin-exchange.is-positive { border-left:4px solid #2da862; }
.pola-admin-exchange.is-negative { border-left:4px solid #dd554f; }
.pola-admin-exchange > header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:15px 18px; border-bottom:1px solid var(--ui-hairline); }
.pola-admin-exchange > header div { display:grid; gap:2px; }
.pola-admin-exchange > header span,.pola-admin-exchange > header time { color:var(--text-sub); font-size:.72rem; }
.pola-admin-dialogue { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:12px; padding:16px 18px; }
.pola-admin-dialogue section { min-width:0; padding:14px; border-radius:15px; background:var(--ui-soft); }
.pola-admin-dialogue section.is-pola { background:color-mix(in srgb,var(--accent) 8%,var(--card)); }
.pola-admin-dialogue span { display:block; margin-bottom:7px; color:var(--accent); font-size:.65rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pola-admin-dialogue p { margin:0; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.pola-admin-exchange > footer { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; padding:12px 18px; border-top:1px solid var(--ui-hairline); color:var(--text-sub); font-size:.72rem; }
.pola-admin-exchange > footer a { margin-left:auto; color:var(--accent); font-weight:800; }
.pola-admin-feedback { color:var(--text); font-weight:850; }
.pola-admin-limit { margin:0; padding:14px; border-radius:14px; background:var(--ui-soft); color:var(--text-sub); text-align:center; }
.pola-admin-journal .admin-empty-state img { width:56px; height:56px; object-fit:contain; }
@media (max-width:980px) { .pola-admin-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } .pola-admin-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .pola-admin-filters label:first-child { grid-column:1/-1; } }
@media (max-width:680px) { .pola-admin-page { width:min(100% - 20px,1280px); margin-top:14px; } .pola-admin-head > img { width:70px; height:70px; border-radius:20px; } .pola-admin-stats { gap:8px; } .pola-admin-stats article { padding:14px; } .pola-admin-filters { grid-template-columns:1fr; padding:12px; } .pola-admin-filters label:first-child { grid-column:auto; } .pola-admin-dialogue { grid-template-columns:1fr; padding:12px; } .pola-admin-exchange > header { flex-direction:column; gap:5px; padding:13px; } .pola-admin-exchange > footer { padding:11px 13px; } .pola-admin-exchange > footer a { width:100%; margin-left:0; } .guided-help-feedback > span { flex-basis:100%; } }
.guided-help-confirm > small { color:var(--accent); font-size:.62rem; font-weight:900; letter-spacing:.08em; }
.guided-help-confirm > strong { font-size:.9rem; line-height:1.3; }
.guided-help-confirm > p { margin:0; color:var(--text-sub); font-size:.76rem; line-height:1.42; }
.guided-help-confirm > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:7px; }
.guided-help-confirm button { min-height:40px; padding:7px 9px; border-radius:10px; text-align:center; font-size:.72rem; }
.guided-help-confirm-do { border-color:var(--accent) !important; background:var(--accent) !important; color:var(--accent-contrast,#fff) !important; }
.guided-help-confirm > span { color:var(--text-sub); font-size:.68rem; line-height:1.3; }
.dashboard-menu-icon { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.account-menu-panel .dashboard-menu-icon,.mobile-account-menu-panel .dashboard-menu-icon { width:19px; height:19px; margin:auto; }
.ui-line-icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.guided-help-topics button { min-height: 44px; padding: 9px 12px; border: 1px solid var(--ui-hairline); border-radius: 12px; background: var(--ui-soft); color: var(--text); text-align: left; font-weight: 750; cursor: pointer; }
.guided-help-topics button:hover { border-color: var(--accent); color: var(--accent); }
.guided-help-topics .guided-help-explain { border-color: color-mix(in srgb,var(--accent) 45%,var(--ui-hairline)); color: var(--accent); }
.guided-help-topics .guided-help-chat-shortcuts button { min-height:34px; padding:6px 10px; border:0; border-radius:999px; background:var(--ui-soft); color:var(--accent); font-size:.72rem; text-align:center; }
.guided-help-conversation-list { display:grid; gap:6px; width:100%; margin-top:3px; padding:10px; border:1px solid var(--ui-hairline); border-radius:14px; background:var(--ui-soft); }
.guided-help-conversation-list > strong { font-size:.78rem; }
.guided-help-conversation-list > p { margin:0; color:var(--text-sub); font-size:.72rem; }
.guided-help-topics .guided-help-conversation-list button { display:grid; gap:2px; width:100%; min-height:48px; padding:8px 10px; border-radius:10px; background:var(--card); color:var(--text); text-align:left; }
.guided-help-conversation-list button span { overflow:hidden; font-size:.76rem; text-overflow:ellipsis; white-space:nowrap; }
.guided-help-conversation-list button small { color:var(--text-sub); font-size:.62rem; font-weight:600; }
.guided-help-conversation-list button:disabled { border-color:color-mix(in srgb,var(--accent) 45%,var(--ui-hairline)); opacity:1; }
.guided-help-suggestions-title { margin: 7px 2px 0; color: var(--text-sub); font-size: .7rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.guided-help-all-topics { margin-top: 5px; border-top: 1px solid var(--ui-hairline); }
.guided-help-all-topics summary { min-height: 44px; padding: 12px 3px; color: var(--accent); font-weight: 800; cursor: pointer; }
.guided-help-all-topics > div { display: grid; gap: 7px; padding-bottom: 5px; }
.guided-help-actions { display: flex; flex:none; justify-content: space-between; gap: 9px; padding: 12px; border-top: 1px solid var(--ui-hairline); }
.guided-help-actions button { min-height: 44px; padding: 9px 14px; border: 1px solid var(--ui-hairline); border-radius: 12px; background: transparent; color: var(--text); font-weight: 800; cursor: pointer; }
.guided-help-actions .guided-help-next { margin-left: auto; border-color: var(--accent); background: var(--accent); color: var(--accent-contrast,#fff); }
@keyframes guided-help-point { 0%,100% { transform: translate(-50%,0); } 50% { transform: translate(-50%,8px); } }
@keyframes guided-help-breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.14) rotate(6deg); } }
@keyframes guided-help-pulse { 0%,100% { opacity:.55; } 50% { opacity:1; } }
@media (max-width:760px) {
  .header-pola-button { display:none; }
  .dashboard-pola-card { grid-template-columns:58px minmax(0,1fr); gap:12px; }
  .dashboard-pola-card > img { width:58px; height:58px; border-radius:17px; }
  .dashboard-pola-card .btn { grid-column:1/-1; width:100%; justify-content:center; }
  .help-lesson-page { width: min(100% - 24px,1180px); margin-top: 14px; }
  .help-lesson-hero,.help-lesson-layout { grid-template-columns: 1fr; }
  .help-lesson-hero-icon { width: 52px; height: 52px; border-radius: 16px; }
  .help-course-nav { position: static; }
  .help-lesson-validation { grid-template-columns: 1fr; }
  .help-lesson-validation .btn,.help-lesson-action { width: 100%; justify-content: center; }
  .help-lesson-pagination { flex-direction: column; }
  .help-lesson-pagination .btn { width: 100%; justify-content: center; }
  .guided-help-card { right: 12px; bottom: max(12px,calc(env(safe-area-inset-bottom) + 12px)); width:min(350px,calc(100vw - 24px)); height:min(440px,64dvh); max-height:calc(100dvh - 24px - env(safe-area-inset-top)); border-radius: 20px; }
  .guided-help-head { padding:7px 9px; }
  .guided-help-head-actions { flex:none; gap:4px; }
  .guided-help-head-actions button { width:34px; height:34px; min-height:34px; }
  .guided-help-mascot { width:38px; height:38px; flex:none; }
  .guided-help-mascot img { width:42px; height:42px; }
  .guided-help-body { padding:11px 12px; }
  .guided-help-body h2 { font-size:1.12rem; margin:3px 0 5px; }
  .guided-help-actions { padding:8px; }
  .guided-help-chat { min-height:0; }
  .guided-help-launcher { right: max(12px,env(safe-area-inset-right)); bottom: max(12px,calc(env(safe-area-inset-bottom) + 12px)); width:60px; height:60px; }
  .guided-help-launcher img { width:58px; height:58px; }
}
@media (max-width:360px) { .guided-help-role { display:none; } .guided-help-drag { gap:5px; padding-right:2px; } }
@media (prefers-reduced-motion:reduce) { .guided-help-launcher span,.guided-help-launcher img,.guided-help-launcher::after,.guided-help-pointer { animation: none; } }

/* Club selector: preserve the brand and contain long names at every text size. */
.site-header .logo { max-width:100%; }
.site-header .logo img { flex:none; }
.site-header .site-brand-name { display:block; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.space-switcher-label { min-width:0; flex:1; }
.space-switcher-menu a > span:nth-child(2) { min-width:0; }
.space-switcher-menu strong { white-space:normal; overflow-wrap:anywhere; line-height:1.4; }
@media (min-width:901px) {
  .site-header .brand-space { display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0; }
  .site-header .brand-space > .logo { flex:none; }
  .site-header .brand-space > .space-switcher { flex:initial; min-width:0; max-width:100%; }
  .site-header .space-switcher summary { display:flex; box-sizing:border-box; width:100%; max-width:min(260px,100%); gap:7px; padding:5px 9px; }
  .space-switcher summary .space-switcher-label { font-size:.78rem; }
  .space-switcher-menu { width:min(350px,calc(100vw - 36px)); }
}

/* Notification previews wrap even though the account toolbar stays on one line. */
.notif-dropdown { width:min(380px,calc(100vw - 24px)); max-width:calc(100vw - 24px); overflow-x:hidden; white-space:normal; }
.notif-dropdown .notif-item { min-width:0; white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
.notif-dropdown .notif-time { margin-top:4px; }
.notif-dropdown .notif-footer { position:sticky; bottom:0; margin:0; background:var(--card); }
.notif-dropdown .notif-footer button { white-space:normal; height:auto; line-height:1.4; }

/* Profile forms must fit inside their card after the content margins. */
.profile-page .profile-collapsible { --profile-content-inset:24px; }
.profile-page .profile-collapsible > form {
  width:auto;
  min-width:0;
  max-width:calc(100% - 2 * var(--profile-content-inset));
  margin-inline:var(--profile-content-inset);
  box-sizing:border-box;
}
.profile-page .profile-collapsible :is(form,label,fieldset,.signup-profile-grid,.signup-profile-grid > *, .rich-editor,.rich-editable) { min-width:0; min-inline-size:0; }
.profile-page .profile-collapsible :is(input,select,textarea,.rich-editable) { max-width:100%; box-sizing:border-box; }
.profile-page .profile-collapsible :is(.field-hint,.page-sub,.profile-security-block) { overflow-wrap:anywhere; }
.profile-page .richtoolbar { width:100%; max-width:100%; box-sizing:border-box; overflow:visible; flex-wrap:wrap; }
.profile-page .richtoolbar-group { flex-wrap:wrap; max-width:100%; }
.profile-page .richtoolbar-hint { flex-basis:100%; margin-left:0; white-space:normal; text-align:right; }
.profile-page .signup-profile-grid :is(input,select) { min-height:44px; }
@media(max-width:700px) {
  .profile-page .profile-collapsible { --profile-content-inset:16px; }
  .profile-page .signup-profile-grid { grid-template-columns:minmax(0,1fr); }
  .profile-page .richtoolbar { gap:6px; }
  .profile-page .richtoolbar-hint { text-align:left; }
}

/* A dedicated panel makes remembered devices directly discoverable. */
.profile-settings-content > #appareils-memorises { order:2; }
.profile-remembered-devices { margin-bottom:24px; overflow-wrap:anywhere; }
.profile-remembered-devices ul { display:grid; gap:12px; padding-left:20px; }
.profile-remembered-devices form { margin:16px 0; }
.profile-settings-nav small { white-space:normal; }
@media(max-width:820px) {
  .profile-settings-sidebar { position:static; }
  .profile-settings-nav { flex-wrap:wrap; overflow:visible; }
  .profile-settings-nav a { flex:1 1 140px; white-space:normal; }
  .profile-settings-nav b { min-width:0; white-space:normal; }
}

/* Returning members get a short welcome strip above the actual community content. */
.community-hero.community-hero--compact { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 24px; margin:16px 0; border-radius:16px; background:linear-gradient(105deg,color-mix(in srgb,var(--accent) 5%,var(--card)),var(--card)); box-shadow:none; }
.community-hero--compact::after { display:none; }
.community-compact-intro { display:flex; align-items:center; gap:14px; min-width:0; flex:1; }
.community-compact-mark { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; background:var(--accent-soft); border:1px solid var(--border); border-radius:14px; font-size:1.3rem; }
.community-hero--compact .community-hero-copy { min-width:0; }
.community-hero--compact .page-title { margin:0 0 5px; font-size:clamp(1.35rem,2.1vw,1.8rem); line-height:1.2; overflow-wrap:anywhere; text-wrap:initial; }
.community-hero--compact .community-hero-copy > p { max-width:600px; font-size:.9rem; line-height:1.5; }
.community-hero--compact .home-actions { display:grid; grid-template-columns:repeat(2,auto); align-items:center; gap:8px; margin:0; flex-shrink:0; }
.community-hero--compact .home-actions .btn { min-height:42px; padding:9px 14px; border-radius:11px; font-size:.88rem; white-space:normal; box-shadow:none; }
.community-hero--compact .home-admin-link { grid-column:1 / -1; justify-self:end; width:auto; margin:0; font-size:.76rem; line-height:1.4; text-decoration:none; }
.community-hero--compact .home-admin-link:hover { text-decoration:underline; }
@media(max-width:760px) {
 .community-hero.community-hero--compact { display:block; padding:16px; gap:0; }
 .community-compact-intro { gap:11px; align-items:flex-start; }
 .community-compact-mark { width:38px; height:38px; flex-basis:38px; border-radius:11px; font-size:1.1rem; }
 .community-hero--compact .home-actions { margin-top:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .community-hero--compact .page-title { font-size:1.35rem; }
 .community-hero--compact .home-admin-link { justify-self:start; }
}

/* Keep correspondence readable even when an old message contains a damaged image. */
.admin-mail-detail-head > div,.admin-email-thread,.private-message,.private-message-body { min-width:0; }
.private-message-body { overflow-wrap:anywhere; }
.private-message-body img { max-width:100%; height:auto; }
.admin-mail-detail-head .page-title { overflow-wrap:anywhere; }

/* Quiet bug reporting entry point, opposite Pola and above mobile navigation. */
.bug-report-launcher{position:fixed;left:max(14px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--border);border-radius:999px;background:var(--card);color:var(--text-sub);box-shadow:0 3px 12px rgba(0,0,0,.08);font-size:.78rem;line-height:1.3;text-decoration:none}
.bug-report-launcher:hover,.bug-report-launcher:focus-visible{color:var(--accent);border-color:var(--accent);text-decoration:none}
@media(max-width:760px){.bug-report-launcher{bottom:calc(84px + env(safe-area-inset-bottom));padding:8px 10px;font-size:.72rem}}
@media print{.bug-report-launcher{display:none!important}}

@media(max-width:760px){body:has(input:focus,textarea:focus,[contenteditable=true]:focus) .bug-report-launcher{display:none}}

/* Keep the compact welcome while making personal unread topics a direct action. */
.community-hero--compact .home-actions{grid-template-columns:repeat(3,auto)}
@media(max-width:760px){.community-hero--compact .home-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.community-hero--compact .home-unread-link{grid-column:1/-1}}
