:root {
  color-scheme: dark;
  --gold: #e1b96f;
  --gold-soft: #f5dca3;
  --blue: #55b7ff;
  --ink: #080c18;
  --panel: rgba(7, 10, 20, .92);
  --border: rgba(237, 202, 133, .48);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; overflow: hidden; background: var(--ink); }
body { min-height: 100dvh; }
button { font: inherit; }
[hidden] { display: none !important; }

.app { position: relative; width: 100%; height: 100dvh; isolation: isolate; overflow: hidden; background: #080c18; }
.scene-backdrop {
  position: absolute; inset: -6%; z-index: -2;
  background: #080c18 url('../assets/images/01-academie.webp') center / cover no-repeat;
  filter: blur(26px) brightness(.44) saturate(.9);
  transform: scale(1.08);
  transition: background-image .28s ease;
}
.scene-backdrop::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 50% 48%, transparent 28%, rgba(3,5,12,.34) 82%); }
.scene { position: absolute; inset: 0; display: grid; place-items: center; padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
.scene-stage {
  position: relative;
  width: min(100vw, 177.683vh);
  height: min(100vh, 56.28vw);
  aspect-ratio: 1672 / 941;
  overflow: hidden;
  background: #090d17;
  box-shadow: 0 20px 70px rgba(0,0,0,.24);
}
.scene-image { display: block; width: 100%; height: 100%; object-fit: fill; user-select: none; -webkit-user-drag: none; }
.scene-stage.is-entering .scene-image { animation: sceneEnter .48s cubic-bezier(.2,.72,.2,1) both; }
@keyframes sceneEnter { from { opacity: .15; transform: scale(1.018); filter: blur(2px); } to { opacity: 1; transform: scale(1); filter: blur(0); } }

.hotspots { position: absolute; inset: 0; pointer-events: none; }
.hotspot, .hotspot-glow { position: absolute; left: var(--x); top: var(--y); width: var(--w); height: var(--h); }
.hotspot {
  z-index: 4; padding: 0; border: 1px solid transparent; background: transparent; color: white; cursor: pointer; pointer-events: auto; outline: none;
}
.hotspot--rounded { border-radius: 18px; }
.hotspot--ellipse { border-radius: 50%; }
.hotspot--arch { border-radius: 48% 48% 18% 18% / 42% 42% 12% 12%; clip-path: polygon(11% 12%,21% 2%,79% 2%,89% 12%,100% 30%,100% 100%,0 100%,0 30%); }
.hotspot:focus-visible { border-color: rgba(255,236,190,.95); box-shadow: 0 0 0 3px rgba(62,163,255,.4); }
.hotspot:hover, .hotspot:focus-visible { z-index: 7; }

.hotspot-glow {
  z-index: 3; opacity: 0; pointer-events: none;
  border: 1px solid rgba(255,229,169,.65);
  background: radial-gradient(circle at center, rgba(255,236,176,.08), rgba(62,161,255,.04) 50%, transparent 76%);
  box-shadow: inset 0 0 24px rgba(255,223,152,.12);
  filter: drop-shadow(0 0 12px rgba(255,213,127,.44)) drop-shadow(0 0 28px rgba(65,156,255,.35));
  transform: scale(.985); transition: opacity .14s ease, transform .14s ease;
}
.hotspot-glow--rounded { border-radius: 20px; }
.hotspot-glow--ellipse { border-radius: 50%; }
.hotspot-glow--arch { border-radius: 48% 48% 18% 18% / 42% 42% 12% 12%; clip-path: polygon(11% 12%,21% 2%,79% 2%,89% 12%,100% 30%,100% 100%,0 100%,0 30%); }
.hotspot-glow.is-active { opacity: .95; transform: scale(1.018); }

.hotspot-tooltip {
  position: absolute; z-index: 8; left: var(--tx); top: var(--ty); transform: translate(-50%, calc(-100% - 10px));
  width: max-content; max-width: min(250px, calc(100vw - 28px)); padding: 8px 11px; border: 1px solid var(--border); border-radius: 13px;
  background: rgba(5,8,18,.9); color: #fff0c7; font-size: clamp(10px, .8vw, 14px); font-weight: 700; line-height: 1.15; text-align: center;
  box-shadow: 0 10px 28px rgba(0,0,0,.42); opacity: 0; pointer-events: none; transition: opacity .13s ease, transform .13s ease;
}
.hotspot-tooltip.is-active { opacity: 1; transform: translate(-50%, calc(-100% - 14px)); }
.hotspot-tooltip--left { transform: translate(-100%, calc(-100% - 10px)); }
.hotspot-tooltip--left.is-active { transform: translate(-100%, calc(-100% - 14px)); }
.hotspot-tooltip--right { transform: translate(0, calc(-100% - 10px)); }
.hotspot-tooltip--right.is-active { transform: translate(0, calc(-100% - 14px)); }
.hotspot-tooltip--below { transform: translate(-50%, 12px); }
.hotspot-tooltip--below.is-active { transform: translate(-50%, 16px); }

.top-navigation {
  position: fixed; top: max(16px, env(safe-area-inset-top)); right: max(16px, env(safe-area-inset-right)); z-index: 30;
  display: flex; gap: 8px; padding: 6px; border: 1px solid rgba(232,195,120,.32); border-radius: 18px; background: rgba(5,8,18,.67); backdrop-filter: blur(16px);
  box-shadow: 0 12px 34px rgba(0,0,0,.26);
}
.nav-button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(237,202,133,.24); border-radius: 13px; background: rgba(10,15,28,.74); color: #f5dca3; cursor: pointer; }
.nav-button:hover, .nav-button:focus-visible { background: rgba(38,49,72,.82); border-color: rgba(237,202,133,.7); outline: none; }
.nav-button svg { width: 22px; height: 22px; fill: currentColor; }

.foundation-badge { position: fixed; left: max(14px, env(safe-area-inset-left)); bottom: max(14px, env(safe-area-inset-bottom)); z-index: 26; display: grid; gap: 1px; padding: 8px 11px; border: 1px solid rgba(225,185,111,.28); border-radius: 12px; background: rgba(5,8,17,.56); backdrop-filter: blur(12px); color: #eed6a7; pointer-events: none; }
.foundation-badge span { font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.foundation-badge small { font-size: 8px; letter-spacing: .16em; opacity: .62; }

.transition-curtain { position: fixed; inset: 0; z-index: 40; display: grid; place-items: center; background: rgba(3,6,14,.24); opacity: 0; pointer-events: none; transition: opacity .18s ease; }
.transition-curtain.is-visible { opacity: 1; }
.transition-loader-ring { width: 38px; height: 38px; border-radius: 50%; border: 2px solid rgba(235,203,142,.2); border-top-color: rgba(245,219,161,.9); animation: spin .8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

.info-dialog { position: fixed; inset: 0; z-index: 60; display: grid; place-items: center; padding: 22px; background: rgba(2,5,12,.62); opacity: 0; transition: opacity .15s ease; }
.info-dialog.is-open { opacity: 1; }
.info-dialog-card { position: relative; width: min(520px, 100%); padding: 28px; border: 1px solid rgba(238,202,133,.42); border-radius: 24px; background: linear-gradient(160deg, rgba(15,21,36,.98), rgba(5,9,18,.98)); box-shadow: 0 28px 80px rgba(0,0,0,.52), inset 0 0 42px rgba(79,156,255,.035); color: #f4ebd7; }
.info-dialog-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; border: 1px solid rgba(234,201,139,.22); border-radius: 50%; background: rgba(255,255,255,.035); color: #f6deb0; cursor: pointer; font-size: 24px; line-height: 1; }
.info-dialog-eyebrow { color: #6ec0ff; font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.info-dialog h2 { margin: 8px 42px 8px 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(26px, 4vw, 38px); font-weight: 600; color: #f1d095; }
.info-dialog p { margin: 0; color: #d8dce6; line-height: 1.55; }
.info-dialog small { display: block; margin-top: 18px; padding-top: 14px; border-top: 1px solid rgba(234,201,139,.14); color: #99a4b8; line-height: 1.45; }

.error-panel, .fatal-error { position: fixed; z-index: 70; left: 50%; top: 50%; transform: translate(-50%,-50%); width: min(520px, calc(100vw - 32px)); padding: 24px; border: 1px solid rgba(255,167,111,.5); border-radius: 18px; background: rgba(20,8,8,.95); color: #ffe8d8; box-shadow: 0 24px 70px rgba(0,0,0,.55); }
.error-panel { display: grid; gap: 10px; }
.error-panel button { justify-self: start; margin-top: 6px; padding: 10px 14px; border: 1px solid rgba(255,220,170,.36); border-radius: 10px; background: rgba(255,255,255,.06); color: white; cursor: pointer; }
.fatal-error { display: grid; gap: 8px; }

.calibration-badge, .calibration-coords { position: fixed; z-index: 80; border: 1px solid rgba(78,212,255,.82); border-radius: 8px; background: rgba(1,11,18,.88); color: #8fe7ff; font: 700 11px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace; pointer-events: none; }
.calibration-badge { top: 12px; left: 50%; transform: translateX(-50%); padding: 7px 10px; }
.calibration-coords { right: 12px; bottom: 12px; padding: 6px 8px; }
.is-calibrating .hotspot { border: 2px dashed rgba(255,74,74,.96); background: rgba(255,35,35,.025); }
.is-calibrating .hotspot::after { content: attr(data-calibration-label); position: absolute; left: 3px; bottom: 3px; padding: 2px 4px; border-radius: 4px; background: rgba(25,0,0,.88); color: #ffdede; font: 700 8px/1.1 ui-monospace, monospace; white-space: nowrap; }
.is-calibrating .hotspot-glow { opacity: .92; border: 2px solid rgba(69,213,255,.96); filter: none; background: rgba(35,196,255,.02); }

@media (max-width: 760px) {
  .top-navigation { top: max(10px, env(safe-area-inset-top)); right: max(10px, env(safe-area-inset-right)); gap: 5px; padding: 5px; }
  .nav-button { width: 38px; height: 38px; }
  .foundation-badge { left: 8px; bottom: 8px; transform: scale(.88); transform-origin: bottom left; }
  .hotspot-tooltip { font-size: 10px; padding: 6px 8px; max-width: 170px; }
}

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

/* V2 · Carte des connaissances Poker */
.has-knowledge-map .scene-stage { filter: saturate(.76) brightness(.66); transform: scale(1.004); transition: filter .18s ease, transform .18s ease; }
.knowledge-map {
  position: fixed; inset: 0; z-index: 55; padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
  background: radial-gradient(circle at 50% 30%, rgba(18,42,72,.38), transparent 45%), rgba(2,5,12,.76);
  backdrop-filter: blur(14px); opacity: 0; transition: opacity .17s ease;
}
.knowledge-map.is-open { opacity: 1; }
.knowledge-map-shell {
  width: min(1540px, 100%); height: 100%; margin: auto; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; overflow: hidden;
  border: 1px solid rgba(231,196,126,.42); border-radius: 28px;
  background: linear-gradient(145deg, rgba(13,19,33,.985), rgba(5,8,17,.985));
  box-shadow: 0 34px 110px rgba(0,0,0,.62), inset 0 0 70px rgba(71,156,255,.035);
}
.knowledge-map-header { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 22px; align-items: center; padding: 22px 26px 16px; border-bottom: 1px solid rgba(231,196,126,.14); }
.knowledge-map-eyebrow { color: #68bfff; font-size: 10px; font-weight: 900; letter-spacing: .18em; }
.knowledge-map-header h2 { margin: 4px 0 1px; font-family: Georgia, "Times New Roman", serif; color: #f1cf91; font-size: clamp(26px, 3.2vw, 44px); font-weight: 500; line-height: 1.02; }
.knowledge-map-header p { margin: 5px 0 0; color: #9ca9bd; font-size: 12px; letter-spacing: .025em; }
.knowledge-map-close { width: 42px; height: 42px; border: 1px solid rgba(231,196,126,.28); border-radius: 50%; background: rgba(255,255,255,.035); color: #f6deb0; font-size: 26px; line-height: 1; cursor: pointer; }
.knowledge-map-close:hover, .knowledge-map-close:focus-visible { outline: none; border-color: rgba(231,196,126,.75); background: rgba(255,255,255,.075); }
.knowledge-global-progress { --progress: 0%; position: relative; width: 112px; height: 54px; display: grid; align-content: center; justify-items: center; border: 1px solid rgba(90,180,255,.22); border-radius: 15px; overflow: hidden; background: rgba(12,28,47,.62); }
.knowledge-global-progress::before { content: ''; position: absolute; left: 0; bottom: 0; width: var(--progress); height: 3px; background: linear-gradient(90deg, #4eaff8, #e4ba6a); transition: width .2s ease; }
.knowledge-global-progress strong { color: #f3d9a5; font-size: 18px; }
.knowledge-global-progress small { color: #7fa3c5; font-size: 7px; font-weight: 900; letter-spacing: .12em; }

.knowledge-toolbar { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 12px 18px; border-bottom: 1px solid rgba(231,196,126,.1); background: rgba(5,9,18,.48); }
.knowledge-search { min-width: min(430px, 44vw); height: 42px; display: flex; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid rgba(97,176,238,.25); border-radius: 13px; background: rgba(9,18,32,.8); }
.knowledge-search:focus-within { border-color: rgba(100,191,255,.72); box-shadow: 0 0 0 3px rgba(70,160,235,.11); }
.knowledge-search svg { width: 18px; height: 18px; fill: #6bbcff; flex: 0 0 auto; }
.knowledge-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: #eff4fb; font-size: 13px; }
.knowledge-search input::placeholder { color: #708095; }
kbd { display: inline-grid; place-items: center; min-width: 23px; height: 22px; padding: 0 5px; border: 1px solid rgba(226,193,126,.25); border-bottom-color: rgba(226,193,126,.42); border-radius: 6px; background: rgba(255,255,255,.035); color: #c7b183; font: 800 10px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.knowledge-filters { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.knowledge-filters button { padding: 8px 11px; border: 1px solid rgba(231,196,126,.14); border-radius: 10px; background: rgba(255,255,255,.025); color: #9ca9bd; cursor: pointer; font-size: 11px; font-weight: 700; }
.knowledge-filters button:hover, .knowledge-filters button:focus-visible { outline: none; color: #f2ddb4; border-color: rgba(231,196,126,.42); }
.knowledge-filters button.is-active { color: #fff0c7; border-color: rgba(231,196,126,.54); background: rgba(194,143,55,.12); }

.knowledge-layout { min-height: 0; display: grid; grid-template-columns: minmax(205px, .75fr) minmax(330px, 1.15fr) minmax(330px, 1fr); }
.knowledge-domains-panel, .knowledge-skills-panel, .knowledge-detail-panel { min-width: 0; min-height: 0; }
.knowledge-domains-panel { padding: 15px 10px 15px 15px; border-right: 1px solid rgba(231,196,126,.12); overflow: hidden; }
.knowledge-panel-label, .knowledge-section-label { display: block; margin: 0 6px 10px; color: #687b93; font-size: 9px; font-weight: 900; letter-spacing: .16em; }
.knowledge-domains { height: calc(100% - 24px); overflow: auto; padding-right: 5px; scrollbar-width: thin; scrollbar-color: rgba(99,176,235,.35) transparent; }
.knowledge-domain { --domain-progress: 0%; position: relative; width: 100%; display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; align-items: center; margin: 0 0 7px; padding: 10px 9px; border: 1px solid transparent; border-radius: 13px; background: transparent; color: #cbd3df; text-align: left; cursor: pointer; overflow: hidden; }
.knowledge-domain::after { content: ''; position: absolute; left: 0; bottom: 0; width: var(--domain-progress); height: 2px; background: linear-gradient(90deg, rgba(74,173,247,.8), rgba(221,176,94,.8)); }
.knowledge-domain:hover, .knowledge-domain:focus-visible { outline: none; border-color: rgba(101,176,233,.25); background: rgba(35,67,101,.14); }
.knowledge-domain.is-active { border-color: rgba(230,195,125,.34); background: linear-gradient(90deg, rgba(162,111,35,.13), rgba(34,76,113,.12)); color: #f3e3bf; }
.knowledge-domain-icon { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid rgba(231,196,126,.22); border-radius: 10px; color: #e2bb73; background: rgba(255,255,255,.025); font: 700 16px/1 Georgia, serif; }
.knowledge-domain-copy { min-width: 0; display: grid; gap: 3px; }
.knowledge-domain-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.knowledge-domain-copy small { color: #6f8197; font-size: 9px; }
.knowledge-domain-progress { color: #6995bb; font-size: 9px; font-weight: 800; }

.knowledge-skills-panel { display: grid; grid-template-rows: auto minmax(0,1fr); border-right: 1px solid rgba(231,196,126,.12); }
.knowledge-skills-header { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 17px 18px 12px; border-bottom: 1px solid rgba(231,196,126,.09); }
.knowledge-skills-header h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; color: #efd39e; font-size: 20px; font-weight: 500; }
.knowledge-skills-header p { max-width: 610px; margin: 4px 0 0; color: #77879a; font-size: 10px; line-height: 1.35; }
.knowledge-skills-header > span { flex: 0 0 auto; color: #648bae; font-size: 9px; font-weight: 800; }
.knowledge-skills { overflow: auto; padding: 10px 12px 16px; scrollbar-width: thin; scrollbar-color: rgba(99,176,235,.35) transparent; }
.knowledge-skill { width: 100%; display: grid; gap: 5px; margin-bottom: 7px; padding: 11px 12px; border: 1px solid rgba(91,139,182,.11); border-radius: 12px; background: rgba(12,20,34,.48); color: #d9e0e8; text-align: left; cursor: pointer; }
.knowledge-skill:hover, .knowledge-skill:focus-visible { outline: none; border-color: rgba(94,179,246,.35); background: rgba(18,35,55,.66); }
.knowledge-skill.is-active { border-color: rgba(230,195,125,.48); background: linear-gradient(100deg, rgba(158,110,39,.13), rgba(26,67,100,.16)); box-shadow: inset 3px 0 0 rgba(230,195,125,.66); }
.knowledge-skill-top { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.knowledge-skill-top strong { font-size: 12px; font-weight: 760; }
.knowledge-skill-meta { color: #6d7e92; font-size: 9px; }
.knowledge-status-dot { flex: 0 0 auto; padding: 4px 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 999px; font-size: 8px; font-weight: 850; letter-spacing: .035em; }
.status-not-started { color: #8592a4; }
.status-learning { color: #71bcf5; }
.status-review { color: #dcc36c; }
.status-solid { color: #7ed6b4; }
.status-mastered { color: #f0ca75; }

.knowledge-detail-panel { overflow: auto; padding: 22px 22px 26px; scrollbar-width: thin; scrollbar-color: rgba(99,176,235,.35) transparent; background: radial-gradient(circle at 50% 10%, rgba(43,91,133,.11), transparent 46%); }
.knowledge-detail-eyebrow { color: #6bbcf7; font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.knowledge-detail-panel h3 { margin: 6px 0 8px; font-family: Georgia, "Times New Roman", serif; color: #f0d39a; font-size: clamp(24px, 2.5vw, 36px); font-weight: 500; line-height: 1.03; }
.knowledge-detail-summary { margin: 0 0 22px; color: #aab5c5; font-size: 12px; line-height: 1.55; }
.knowledge-detail-panel .knowledge-section-label { margin: 19px 0 9px; }
.knowledge-status-row { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 7px; }
.knowledge-status-button { min-height: 38px; padding: 8px 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(255,255,255,.025); cursor: pointer; font-size: 9px; font-weight: 800; }
.knowledge-status-button:hover, .knowledge-status-button:focus-visible { outline: none; border-color: currentColor; background: rgba(255,255,255,.055); }
.knowledge-status-button.is-active { border-color: currentColor; background: rgba(88,160,212,.1); box-shadow: inset 0 0 18px rgba(255,255,255,.025); }
.knowledge-status-row .knowledge-status-button:last-child { grid-column: 1 / -1; }
.knowledge-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.knowledge-chip { padding: 6px 8px; border: 1px solid rgba(94,167,222,.18); border-radius: 999px; background: rgba(44,91,126,.1); color: #9fb9cf; font-size: 9px; }
.knowledge-points { margin: 0; padding-left: 18px; color: #aeb9c7; font-size: 10px; line-height: 1.65; }
.knowledge-points li::marker { color: #d5ae65; }
.knowledge-go-room { width: 100%; margin-top: 22px; padding: 11px 14px; border: 1px solid rgba(230,195,125,.4); border-radius: 12px; background: linear-gradient(100deg, rgba(173,119,43,.16), rgba(33,93,137,.17)); color: #f2ddb4; cursor: pointer; font-size: 10px; font-weight: 850; letter-spacing: .04em; }
.knowledge-go-room:hover, .knowledge-go-room:focus-visible { outline: none; border-color: rgba(237,204,138,.78); background: linear-gradient(100deg, rgba(173,119,43,.24), rgba(33,93,137,.24)); }
.knowledge-empty { min-height: 140px; display: grid; place-content: center; gap: 6px; text-align: center; color: #78889a; }
.knowledge-empty strong { color: #c3cbd6; }
.knowledge-empty span { font-size: 10px; }

.knowledge-map-footer { display: flex; align-items: center; gap: 14px; padding: 9px 17px; border-top: 1px solid rgba(231,196,126,.1); color: #68798c; font-size: 9px; }
.knowledge-map-footer span { display: flex; align-items: center; gap: 5px; }
.knowledge-map-footer strong { margin-left: auto; color: #788da4; font-size: 8px; font-weight: 700; }

@media (max-width: 1020px) {
  .knowledge-map { padding: 9px; }
  .knowledge-map-shell { border-radius: 20px; }
  .knowledge-layout { grid-template-columns: 190px minmax(280px,1fr) minmax(280px,.95fr); }
  .knowledge-map-header { padding: 17px 18px 13px; }
  .knowledge-toolbar { padding: 10px 12px; }
}

@media (max-width: 760px) {
  .knowledge-map { padding: max(5px, env(safe-area-inset-top)) 5px max(5px, env(safe-area-inset-bottom)); backdrop-filter: blur(10px); }
  .knowledge-map-shell { border-radius: 16px; grid-template-rows: auto auto minmax(0,1fr); background: #080d18; }
  .knowledge-map-header { grid-template-columns: minmax(0,1fr) auto; gap: 10px; padding: 13px 13px 10px; }
  .knowledge-map-header h2 { font-size: 25px; }
  .knowledge-map-header p { display: none; }
  .knowledge-global-progress { grid-column: 1 / -1; grid-row: 2; width: 100%; height: 32px; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; }
  .knowledge-global-progress strong { font-size: 13px; }
  .knowledge-map-close { width: 38px; height: 38px; }
  .knowledge-toolbar { display: grid; gap: 8px; }
  .knowledge-search { min-width: 0; width: 100%; height: 40px; }
  .knowledge-filters { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 1px; }
  .knowledge-filters button { flex: 0 0 auto; }
  .knowledge-layout { display: block; overflow-y: auto; }
  .knowledge-domains-panel { height: auto; padding: 9px 8px; border: 0; border-bottom: 1px solid rgba(231,196,126,.12); overflow: visible; }
  .knowledge-panel-label { display: none; }
  .knowledge-domains { height: auto; display: flex; gap: 6px; overflow-x: auto; padding: 0 0 4px; }
  .knowledge-domain { flex: 0 0 176px; margin: 0; grid-template-columns: 30px minmax(0,1fr); }
  .knowledge-domain-progress { display: none; }
  .knowledge-skills-panel { display: block; border: 0; }
  .knowledge-skills-header { padding: 12px 13px 9px; }
  .knowledge-skills-header p { display: none; }
  .knowledge-skills { max-height: 300px; overflow-y: auto; padding: 8px 10px 10px; }
  .knowledge-detail-panel { min-height: 440px; padding: 17px 14px 28px; border-top: 1px solid rgba(231,196,126,.12); overflow: visible; }
  .knowledge-detail-panel h3 { font-size: 27px; }
  .knowledge-map-footer { display: none; }
}

@media (max-height: 650px) and (min-width: 761px) {
  .knowledge-map { padding: 7px; }
  .knowledge-map-header { padding-top: 12px; padding-bottom: 9px; }
  .knowledge-map-header p { display: none; }
  .knowledge-toolbar { padding-top: 7px; padding-bottom: 7px; }
  .knowledge-map-footer { padding-top: 6px; padding-bottom: 6px; }
}

/* V3 · Salle des Rappels -------------------------------------------------- */
.knowledge-recall-button { width: 100%; margin-top: 18px; padding: 11px 14px; border: 1px solid rgba(95,184,245,.42); border-radius: 12px; background: linear-gradient(100deg, rgba(31,91,135,.22), rgba(163,112,39,.11)); color: #bfe3fb; cursor: pointer; font-size: 10px; font-weight: 850; letter-spacing: .03em; }
.knowledge-recall-button:hover, .knowledge-recall-button:focus-visible { outline: none; border-color: rgba(102,194,255,.75); background: linear-gradient(100deg, rgba(31,91,135,.32), rgba(163,112,39,.18)); color: #eef8ff; }

.recall-center { position: fixed; inset: 0; z-index: 72; padding: clamp(8px, 1.6vw, 24px); background: radial-gradient(circle at 50% 15%, rgba(24,63,96,.22), transparent 38%), rgba(2,5,12,.84); backdrop-filter: blur(14px); opacity: 0; transition: opacity .17s ease; }
.recall-center.is-open { opacity: 1; }
.recall-shell { width: min(1280px, 100%); height: 100%; margin: 0 auto; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; overflow: hidden; border: 1px solid rgba(230,193,120,.31); border-radius: 25px; background: linear-gradient(160deg, rgba(10,15,28,.985), rgba(4,8,17,.99)); box-shadow: 0 34px 95px rgba(0,0,0,.58), inset 0 0 80px rgba(57,132,190,.025); color: #dce3ec; }
.recall-header { display: grid; grid-template-columns: minmax(250px,1fr) auto auto; gap: 18px; align-items: center; padding: 20px 22px 15px; border-bottom: 1px solid rgba(230,193,120,.1); background: radial-gradient(circle at 20% 0%, rgba(177,121,42,.08), transparent 46%); }
.recall-eyebrow, .recall-kicker { color: #6ec4ff; font-size: 9px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.recall-header h2 { margin: 4px 0 2px; font-family: Georgia, "Times New Roman", serif; color: #f2d49c; font-size: clamp(27px, 3vw, 42px); font-weight: 500; line-height: 1; }
.recall-header p { margin: 6px 0 0; color: #77899d; font-size: 10px; }
.recall-header-stats { display: grid; grid-template-columns: repeat(4, minmax(62px,1fr)); gap: 7px; }
.recall-header-stats span { min-width: 72px; padding: 8px 9px; border: 1px solid rgba(89,161,215,.15); border-radius: 11px; background: rgba(22,45,67,.13); text-align: center; }
.recall-header-stats strong { display: block; color: #f1d49b; font: 600 17px/1 Georgia, serif; }
.recall-header-stats small { display: block; margin-top: 4px; color: #6585a1; font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.recall-close { width: 42px; height: 42px; border: 1px solid rgba(231,196,126,.24); border-radius: 50%; background: rgba(255,255,255,.025); color: #f2d7a6; cursor: pointer; font-size: 27px; line-height: 1; }
.recall-close:hover, .recall-close:focus-visible { outline: none; border-color: rgba(231,196,126,.66); background: rgba(255,255,255,.055); }

.recall-tabs { display: flex; gap: 5px; padding: 9px 13px; border-bottom: 1px solid rgba(230,193,120,.08); overflow-x: auto; scrollbar-width: none; }
.recall-tabs::-webkit-scrollbar { display: none; }
.recall-tabs button { flex: 0 0 auto; padding: 8px 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: #75869a; cursor: pointer; font-size: 9px; font-weight: 850; letter-spacing: .025em; }
.recall-tabs button:hover, .recall-tabs button:focus-visible { outline: none; color: #cbd8e5; background: rgba(50,102,141,.11); }
.recall-tabs button.is-active { color: #f4deb5; border-color: rgba(225,187,112,.3); background: linear-gradient(100deg, rgba(156,104,34,.14), rgba(30,84,124,.14)); }

.recall-content { min-height: 0; overflow: auto; padding: clamp(14px, 2vw, 25px); scrollbar-width: thin; scrollbar-color: rgba(84,159,217,.34) transparent; }
.recall-footer { display: flex; align-items: center; gap: 13px; padding: 8px 16px; border-top: 1px solid rgba(230,193,120,.09); color: #607286; font-size: 8px; }
.recall-footer span { display: flex; align-items: center; gap: 5px; }
.recall-footer strong { margin-left: auto; color: #71869c; font-size: 8px; }
kbd { min-width: 18px; display: inline-grid; place-items: center; padding: 2px 5px; border: 1px solid rgba(255,255,255,.13); border-bottom-color: rgba(255,255,255,.25); border-radius: 5px; background: rgba(255,255,255,.04); color: #9fb1c5; font: 700 8px/1.3 ui-monospace, SFMono-Regular, Menlo, monospace; }

.recall-primary, .recall-secondary, .recall-danger { min-height: 39px; padding: 9px 14px; border-radius: 11px; cursor: pointer; font-size: 9px; font-weight: 900; letter-spacing: .035em; }
.recall-primary { border: 1px solid rgba(230,194,123,.48); background: linear-gradient(105deg, rgba(161,108,34,.24), rgba(33,100,148,.22)); color: #f2dfb9; }
.recall-primary:hover, .recall-primary:focus-visible { outline: none; border-color: rgba(240,208,146,.82); background: linear-gradient(105deg, rgba(176,119,39,.34), rgba(37,110,163,.3)); }
.recall-primary:disabled { opacity: .42; cursor: default; }
.recall-primary small { margin-left: 8px; color: #7894ac; font-size: 7px; }
.recall-secondary { border: 1px solid rgba(94,166,220,.27); background: rgba(40,90,128,.1); color: #a9cce5; }
.recall-secondary:hover, .recall-secondary:focus-visible { outline: none; border-color: rgba(94,182,246,.54); color: #d9efff; }
.recall-danger { border: 1px solid rgba(216,98,98,.28); background: rgba(136,43,43,.1); color: #d99191; }

.recall-dashboard { width: min(1030px,100%); margin: 0 auto; display: grid; grid-template-columns: 1.2fr .8fr; gap: 14px; }
.recall-hero-card, .recall-upcoming, .recall-mini-grid article, .recall-card-detail, .recall-domain-grid article, .recall-create form { border: 1px solid rgba(95,157,204,.14); background: linear-gradient(145deg, rgba(18,32,50,.53), rgba(8,14,25,.58)); box-shadow: inset 0 0 32px rgba(87,166,224,.018); }
.recall-hero-card { min-height: 224px; display: flex; flex-direction: column; justify-content: center; padding: clamp(22px,4vw,44px); border-radius: 20px; background: radial-gradient(circle at 86% 50%, rgba(63,147,207,.12), transparent 28%), linear-gradient(145deg, rgba(33,47,64,.48), rgba(8,13,23,.74)); }
.recall-hero-card h3, .recall-map-view h3, .recall-create h3, .recall-session-empty h3 { margin: 8px 0; font: 500 clamp(28px,3.7vw,48px)/1 Georgia, serif; color: #f0d39c; }
.recall-hero-card p, .recall-map-view header p, .recall-create header p, .recall-session-empty p { max-width: 650px; margin: 2px 0 20px; color: #8c9cad; font-size: 11px; line-height: 1.55; }
.recall-hero-card .recall-primary { align-self: flex-start; min-width: 180px; }
.recall-mini-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.recall-mini-grid article { min-height: 106px; display: grid; place-content: center; gap: 5px; padding: 15px; border-radius: 16px; text-align: center; }
.recall-mini-grid strong { color: #efd09a; font: 500 30px/1 Georgia, serif; }
.recall-mini-grid span { color: #75889c; font-size: 9px; }
.recall-upcoming { grid-column: 1 / -1; padding: 15px; border-radius: 17px; }
.recall-upcoming header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 9px; }
.recall-upcoming header span { color: #788b9f; font-size: 8px; font-weight: 900; letter-spacing: .13em; }
.recall-upcoming header button { border: 0; background: transparent; color: #70baf0; cursor: pointer; font-size: 9px; }
.recall-upcoming > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }
.recall-upcoming-card { min-width: 0; padding: 11px; border: 1px solid rgba(90,151,197,.12); border-radius: 11px; background: rgba(15,29,44,.35); color: #cbd5df; text-align: left; cursor: pointer; }
.recall-upcoming-card:hover, .recall-upcoming-card:focus-visible { outline: none; border-color: rgba(95,180,241,.38); background: rgba(25,50,72,.45); }
.recall-upcoming-card strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.recall-upcoming-card small { display: block; margin-top: 4px; color: #6d8498; font-size: 8px; }
.recall-empty-copy { margin: 18px 0; color: #728497; font-size: 10px; }

.recall-session { width: min(920px,100%); min-height: 100%; margin: 0 auto; display: grid; align-content: center; gap: 14px; }
.recall-session-top { display: grid; grid-template-columns: auto minmax(120px,1fr) auto; gap: 12px; align-items: center; color: #71869a; font-size: 8px; }
.recall-session-top > div { height: 3px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.06); }
.recall-session-top i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #4ba8e7, #d5ad65); }
.recall-flashcard { min-height: 360px; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: clamp(26px,5vw,62px); border: 1px solid rgba(229,190,115,.24); border-radius: 24px; background: radial-gradient(circle at 50% 35%, rgba(52,128,183,.12), transparent 37%), linear-gradient(160deg, rgba(19,28,43,.85), rgba(7,11,20,.93)); box-shadow: 0 25px 70px rgba(0,0,0,.25), inset 0 0 55px rgba(201,155,76,.025); text-align: center; }
.recall-flashcard h3 { margin: 9px 0 18px; color: #efd09a; font: 500 clamp(28px,4.3vw,50px)/1.04 Georgia, serif; }
.recall-question { max-width: 700px; margin: 0 0 27px; color: #d8e0e8; font-size: clamp(14px,1.7vw,19px); line-height: 1.55; }
.recall-answer { width: min(720px,100%); margin-top: 4px; padding: 20px 22px; border: 1px solid rgba(88,169,226,.18); border-radius: 15px; background: rgba(25,65,94,.13); text-align: left; }
.recall-answer > span { color: #6dc2fa; font-size: 8px; font-weight: 900; letter-spacing: .14em; }
.recall-answer p { margin: 7px 0 10px; color: #e0e5eb; font-size: 13px; line-height: 1.55; }
.recall-answer ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.recall-answer li { padding: 5px 8px; border: 1px solid rgba(222,181,105,.17); border-radius: 99px; color: #aeb9c5; font-size: 8px; }
.recall-ratings { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.recall-ratings button { min-height: 58px; padding: 8px; border-radius: 12px; background: rgba(255,255,255,.025); cursor: pointer; }
.recall-ratings button:hover, .recall-ratings button:focus-visible { outline: none; transform: translateY(-1px); background: rgba(255,255,255,.055); }
.recall-ratings strong, .recall-ratings small { display: block; }
.recall-ratings strong { font-size: 10px; }
.recall-ratings small { margin-top: 4px; color: #738599; font-size: 7px; }
.rating-again { border: 1px solid rgba(213,91,91,.38); color: #e39a9a; }
.rating-hard { border: 1px solid rgba(219,158,76,.35); color: #dfb477; }
.rating-good { border: 1px solid rgba(80,177,221,.36); color: #8acde9; }
.rating-easy { border: 1px solid rgba(91,194,142,.36); color: #91d6b3; }
.recall-session-hint { margin: 0; color: #64778b; text-align: center; font-size: 9px; }
.recall-session-empty { min-height: 100%; display: grid; place-content: center; justify-items: center; padding: 30px; text-align: center; }
.recall-session-complete { background: radial-gradient(circle at 50% 50%, rgba(188,139,55,.08), transparent 36%); }

.recall-library { width: min(1040px,100%); margin: 0 auto; }
.recall-library-toolbar { position: sticky; top: -1px; z-index: 2; display: flex; gap: 8px; padding: 0 0 11px; background: linear-gradient(#080d18 72%, transparent); }
.recall-library-toolbar label { min-width: 0; flex: 1; height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid rgba(88,155,206,.2); border-radius: 11px; background: rgba(12,25,39,.72); }
.recall-library-toolbar input { min-width: 0; flex: 1; border: 0; outline: none; background: transparent; color: #dfe7ef; font: inherit; font-size: 10px; }
.recall-card-detail { position: relative; margin-bottom: 12px; padding: 20px 22px; border-radius: 16px; }
.recall-card-detail-close { position: absolute; right: 11px; top: 9px; border: 0; background: none; color: #8091a4; cursor: pointer; font-size: 22px; }
.recall-card-detail h3 { margin: 6px 35px 8px 0; color: #efd19a; font: 500 28px/1 Georgia, serif; }
.recall-card-detail > p { margin: 0 0 12px; color: #b9c3ce; font-size: 11px; }
.recall-card-answer { display: grid; gap: 5px; padding: 12px; border-left: 2px solid rgba(84,174,234,.4); background: rgba(37,80,112,.09); }
.recall-card-answer strong { color: #6cbef4; font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.recall-card-answer span { color: #aeb9c5; font-size: 10px; line-height: 1.5; }
.recall-card-actions { display: flex; gap: 9px; align-items: center; margin-top: 13px; }
.recall-card-actions small { color: #718599; font-size: 8px; }
.recall-library-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 7px; }
.recall-list-card { display: grid; grid-template-columns: minmax(0,1fr) auto; border: 1px solid rgba(91,151,197,.12); border-radius: 12px; background: rgba(12,23,36,.44); overflow: hidden; }
.recall-list-card.is-focused { border-color: rgba(225,187,112,.38); }
.recall-list-main { min-width: 0; padding: 11px 12px; border: 0; background: transparent; color: #cbd4dd; text-align: left; cursor: pointer; }
.recall-list-main:hover, .recall-list-main:focus-visible { outline: none; background: rgba(50,104,143,.08); }
.recall-list-main span { display: block; color: #6086a4; font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.recall-list-main strong { display: block; margin: 4px 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.recall-list-main small { color: #738599; font-size: 8px; }
.recall-list-add { width: 38px; border: 0; border-left: 1px solid rgba(91,151,197,.1); background: rgba(45,98,137,.07); color: #75bde9; cursor: pointer; font-size: 19px; }
.recall-list-add:hover, .recall-list-add:focus-visible { outline: none; background: rgba(45,98,137,.2); color: #c4e9ff; }

.recall-map-view, .recall-create { width: min(1030px,100%); margin: 0 auto; }
.recall-map-view header, .recall-create header { margin-bottom: 17px; }
.recall-domain-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }
.recall-domain-grid article { padding: 14px; border-radius: 13px; }
.recall-domain-grid article > div:first-child { display: flex; align-items: center; gap: 8px; }
.recall-domain-grid article > div:first-child span { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(226,185,107,.2); border-radius: 9px; color: #dbb56d; }
.recall-domain-grid article strong { color: #cbd5df; font-size: 10px; }
.recall-domain-bar { height: 4px; margin: 11px 0 8px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.06); }
.recall-domain-bar i { display: block; height: 100%; background: linear-gradient(90deg, #4ea9e6, #d7af67); }
.recall-domain-grid p { margin: 0; color: #71869a; font-size: 8px; }
.recall-domain-grid p b { color: #9fc8e4; }
.recall-domain-grid p em { color: #e3b77b; font-style: normal; }
.recall-domain-grid button { margin-top: 9px; padding: 0; border: 0; background: transparent; color: #69b5e9; cursor: pointer; font-size: 8px; }

.recall-create form { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; padding: 20px; border-radius: 16px; }
.recall-create label { display: grid; gap: 6px; color: #8192a4; font-size: 8px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.recall-create label:nth-child(2), .recall-create label:nth-child(3) { grid-column: span 1; }
.recall-create input, .recall-create textarea, .recall-create select { width: 100%; border: 1px solid rgba(89,158,210,.18); border-radius: 10px; outline: none; background: rgba(5,13,23,.72); color: #dbe4ec; padding: 10px 11px; font: inherit; font-size: 10px; resize: vertical; }
.recall-create input:focus, .recall-create textarea:focus, .recall-create select:focus { border-color: rgba(95,184,245,.55); }
.recall-create form > div { grid-column: 1 / -1; display: flex; gap: 8px; }

@media (max-width: 860px) {
  .recall-center { padding: max(5px, env(safe-area-inset-top)) 5px max(5px, env(safe-area-inset-bottom)); }
  .recall-shell { border-radius: 17px; }
  .recall-header { grid-template-columns: minmax(0,1fr) auto; gap: 9px; padding: 13px 13px 10px; }
  .recall-header p { display: none; }
  .recall-header-stats { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(4,1fr); width: 100%; }
  .recall-header-stats span { min-width: 0; padding: 6px 4px; }
  .recall-header-stats strong { font-size: 14px; }
  .recall-header-stats small { font-size: 6px; }
  .recall-close { width: 38px; height: 38px; }
  .recall-content { padding: 12px 9px 18px; }
  .recall-footer { display: none; }
  .recall-dashboard { display: block; }
  .recall-hero-card { min-height: 205px; margin-bottom: 9px; padding: 24px 20px; }
  .recall-mini-grid { margin-bottom: 9px; }
  .recall-mini-grid article { min-height: 82px; }
  .recall-upcoming > div { grid-template-columns: 1fr; }
  .recall-flashcard { min-height: 330px; padding: 24px 18px; }
  .recall-ratings { grid-template-columns: repeat(2,1fr); }
  .recall-library-list, .recall-domain-grid { grid-template-columns: 1fr; }
  .recall-library-toolbar { top: -12px; padding-top: 12px; }
  .recall-card-actions { flex-wrap: wrap; }
  .recall-create form { grid-template-columns: 1fr; padding: 14px; }
  .recall-create label, .recall-create label:nth-child(2), .recall-create label:nth-child(3) { grid-column: 1; }
  .recall-session-top { grid-template-columns: auto minmax(80px,1fr); }
  .recall-session-top small { grid-column: 1 / -1; text-align: center; }
}

@media (max-height: 650px) and (min-width: 861px) {
  .recall-center { padding: 7px; }
  .recall-header { padding-top: 11px; padding-bottom: 9px; }
  .recall-header p { display: none; }
  .recall-flashcard { min-height: 290px; padding-top: 30px; padding-bottom: 30px; }
  .recall-content { padding-top: 12px; }
}

/* V4 · Entraînement à la Décision */
.has-decision-trainer .scene-stage { filter: saturate(.72) brightness(.58); transform: scale(1.004); transition: filter .18s ease, transform .18s ease; }
.decision-trainer { position: fixed; inset: 0; z-index: 74; padding: clamp(8px,1.6vw,24px); background: radial-gradient(circle at 50% 18%, rgba(33,83,123,.22), transparent 38%), rgba(2,5,12,.86); backdrop-filter: blur(14px); opacity: 0; transition: opacity .17s ease; }
.decision-trainer.is-open { opacity: 1; }
.decision-shell { width: min(1320px,100%); height: 100%; margin: 0 auto; display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; overflow: hidden; border: 1px solid rgba(231,196,126,.22); border-radius: 23px; background: linear-gradient(165deg,rgba(8,14,25,.985),rgba(5,9,17,.985)); box-shadow: 0 34px 110px rgba(0,0,0,.52), inset 0 0 70px rgba(65,144,205,.025); }
.decision-header { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 20px; align-items: center; padding: 18px 22px 14px; border-bottom: 1px solid rgba(231,196,126,.12); }
.decision-eyebrow,.decision-kicker { color: #65bdf5; font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.decision-header h2 { margin: 4px 0 1px; color: #efcd91; font: 500 clamp(25px,3vw,40px)/1 Georgia,serif; }
.decision-header p { margin: 5px 0 0; color: #8999aa; font-size: 10px; }
.decision-header-stats { display: grid; grid-template-columns: repeat(4,auto); gap: 6px; }
.decision-header-stats span { min-width: 72px; display: grid; gap: 1px; padding: 7px 9px; border: 1px solid rgba(88,155,206,.13); border-radius: 10px; background: rgba(12,26,40,.5); text-align: center; }
.decision-header-stats strong { color: #dceaf5; font-size: 13px; }
.decision-header-stats small { color: #667f94; font-size: 6px; letter-spacing: .08em; }
.decision-close { width: 42px; height: 42px; border: 1px solid rgba(231,196,126,.28); border-radius: 50%; background: rgba(255,255,255,.03); color: #f2d59e; font-size: 25px; cursor: pointer; }
.decision-tabs { display: flex; gap: 5px; padding: 8px 12px; border-bottom: 1px solid rgba(231,196,126,.08); overflow-x: auto; }
.decision-tabs button { flex: 0 0 auto; padding: 7px 11px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #75899c; font-size: 8px; font-weight: 800; cursor: pointer; }
.decision-tabs button.is-active { border-color: rgba(78,167,225,.23); background: rgba(45,112,158,.11); color: #9fd7f7; }
.decision-content { min-height: 0; overflow: auto; padding: 18px 20px 24px; scrollbar-width: thin; scrollbar-color: rgba(91,151,197,.28) transparent; }
.decision-footer { display: flex; align-items: center; gap: 13px; padding: 8px 15px; border-top: 1px solid rgba(231,196,126,.08); color: #64798c; font-size: 8px; }
.decision-footer span { display: flex; align-items: center; gap: 5px; }
.decision-footer strong { margin-left: auto; color: #71869a; font-size: 7px; }
.decision-footer kbd,.decision-trainer kbd { padding: 2px 5px; border: 1px solid rgba(236,199,128,.2); border-radius: 5px; background: rgba(255,255,255,.035); color: #e5c98f; font-size: 7px; font-family: inherit; }
.decision-primary,.decision-secondary { min-height: 38px; padding: 9px 14px; border-radius: 10px; cursor: pointer; font-weight: 800; }
.decision-primary { border: 1px solid rgba(225,181,99,.42); background: linear-gradient(180deg,rgba(195,139,54,.26),rgba(126,84,25,.2)); color: #f3d79f; }
.decision-secondary { border: 1px solid rgba(81,161,215,.23); background: rgba(43,103,145,.1); color: #9dd7f8; }
.decision-primary:hover,.decision-primary:focus-visible,.decision-secondary:hover,.decision-secondary:focus-visible { outline:none; filter: brightness(1.14); }

.decision-home { width: min(1080px,100%); margin: 0 auto; display: grid; gap: 13px; }
.decision-hero { padding: 22px; border: 1px solid rgba(226,186,108,.17); border-radius: 18px; background: radial-gradient(circle at 80% 20%,rgba(51,126,178,.12),transparent 34%),rgba(13,21,34,.5); }
.decision-hero h3,.decision-mistakes h3,.decision-stats h3,.decision-complete h3 { margin: 5px 0 8px; color: #efd09a; font: 500 clamp(25px,3vw,38px)/1.05 Georgia,serif; }
.decision-hero p,.decision-mistakes header p,.decision-stats header p,.decision-complete p { margin: 0; color: #8fa0b1; font-size: 10px; line-height: 1.55; }
.decision-size { display: flex; align-items: center; gap: 6px; margin-top: 14px; }
.decision-size span { margin-right: 4px; color: #6d8194; font-size: 8px; font-weight: 800; }
.decision-size button { width: 38px; height: 30px; border: 1px solid rgba(89,159,208,.18); border-radius: 8px; background: rgba(255,255,255,.02); color: #7f96aa; cursor: pointer; font-size: 8px; }
.decision-size button.is-active { border-color: rgba(224,183,105,.45); color: #edcd93; background: rgba(167,116,40,.11); }
.decision-domain-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; }
.decision-domain { min-height: 130px; display: grid; align-content: center; justify-items: start; gap: 4px; padding: 16px; border: 1px solid rgba(85,154,204,.14); border-radius: 15px; background: rgba(11,21,34,.52); color: #c8d3dd; text-align: left; cursor: pointer; }
.decision-domain:hover,.decision-domain:focus-visible,.decision-domain.is-active { outline:none; border-color: rgba(225,185,111,.42); background: rgba(35,64,86,.45); }
.decision-domain > span { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgba(224,181,102,.2); border-radius: 10px; color: #d8b46f; font-size: 17px; }
.decision-domain strong { margin-top: 4px; font-size: 11px; }
.decision-domain small { color: #75899d; font-size: 8px; }
.decision-domain em { margin-top: 4px; color: #5f7d95; font-style: normal; font-size: 7px; }
.decision-start { display: flex; align-items: center; gap: 15px; padding: 14px 16px; border: 1px solid rgba(85,154,204,.12); border-radius: 14px; background: rgba(8,17,29,.55); }
.decision-start > div { min-width: 0; flex: 1; display: grid; gap: 3px; }
.decision-start strong { color: #cfdae3; font-size: 10px; }
.decision-start span { color: #71869a; font-size: 8px; }

.decision-session { width: min(980px,100%); min-height: 100%; margin: 0 auto; display: grid; align-content: center; gap: 11px; }
.decision-progress { display: grid; grid-template-columns: auto minmax(120px,1fr) auto; gap: 10px; align-items: center; color: #6d8194; font-size: 8px; }
.decision-progress > div { height: 3px; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.06); }
.decision-progress i { display:block;height:100%;background:linear-gradient(90deg,#4aa8e5,#d5ad64); }
.decision-card { position: relative; padding: clamp(20px,3vw,34px); border: 1px solid rgba(228,190,116,.2); border-radius: 22px; background: radial-gradient(circle at 50% 20%,rgba(47,122,176,.11),transparent 34%),linear-gradient(160deg,rgba(17,26,41,.88),rgba(7,11,20,.95)); box-shadow: 0 24px 70px rgba(0,0,0,.23); }
.decision-card header { text-align: center; }
.decision-card header h3 { max-width: 820px; margin: 8px auto 15px; color: #dce5ec; font-size: clamp(14px,1.6vw,19px); font-weight: 550; line-height: 1.55; }
.decision-hand,.decision-board { display: inline-grid; gap: 3px; margin: 0 5px 10px; padding: 9px 13px; border: 1px solid rgba(81,162,216,.18); border-radius: 11px; background: rgba(20,48,70,.22); text-align: center; }
.decision-card > .decision-hand:first-of-type { margin-left: calc(50% - 80px); }
.decision-hand span,.decision-board span { color:#6d94b0;font-size:7px;font-weight:900;letter-spacing:.1em; }
.decision-hand strong,.decision-board strong { color:#edf2f6;font-size:15px;letter-spacing:.04em; }
.decision-facts { display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 14px;padding:0;list-style:none; }
.decision-facts li { padding:5px 8px;border:1px solid rgba(230,190,112,.13);border-radius:99px;color:#8e9dac;font-size:8px; }
.decision-confidence { display:grid;grid-template-columns:auto repeat(3,1fr);gap:6px;align-items:stretch;margin:0 0 10px; }
.decision-confidence > span { align-self:center;color:#6e8295;font-size:8px;font-weight:800; }
.decision-confidence button { display:grid;gap:2px;padding:7px 9px;border:1px solid rgba(82,151,201,.12);border-radius:9px;background:rgba(255,255,255,.018);color:#889bac;text-align:left;cursor:pointer; }
.decision-confidence button.is-active { border-color:rgba(223,181,105,.4);background:rgba(159,110,39,.09);color:#d9bd88; }
.decision-confidence button strong { font-size:8px; }.decision-confidence button small{font-size:6px;color:#677d90;}
.decision-choices { display:grid;grid-template-columns:repeat(2,1fr);gap:8px; }
.decision-choices button { min-height:58px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(79,153,207,.18);border-radius:12px;background:rgba(8,23,36,.55);color:#c9d5df;text-align:left;cursor:pointer; }
.decision-choices button:hover,.decision-choices button:focus-visible{outline:none;border-color:rgba(95,186,244,.46);background:rgba(35,79,108,.36);}
.decision-choices button.is-correct{border-color:rgba(91,194,142,.48);background:rgba(35,105,72,.2);color:#a9e4c6;}
.decision-choices button.is-wrong{border-color:rgba(211,91,91,.48);background:rgba(111,39,39,.19);color:#e3a4a4;}
.decision-choices button:disabled{cursor:default;}
.decision-choices span{font-size:10px;font-weight:750;}
.decision-feedback { margin-top:13px;padding:15px;border:1px solid rgba(85,154,204,.15);border-radius:14px;background:rgba(6,13,23,.62); }
.decision-feedback > div:first-child { display:flex;align-items:baseline;gap:9px;flex-wrap:wrap; }
.decision-feedback > div:first-child span{font-size:7px;font-weight:900;letter-spacing:.1em;}.decision-feedback.is-correct > div:first-child span{color:#83d2a8}.decision-feedback.is-wrong > div:first-child span{color:#df9292}
.decision-feedback > div:first-child strong{color:#e9d0a0;font-size:11px}.decision-feedback > div:first-child small{margin-left:auto;color:#6f8295;font-size:7px}
.decision-feedback p{margin:10px 0;color:#aeb9c4;font-size:9px;line-height:1.55}.decision-feedback blockquote{margin:0;padding:10px 12px;border-left:2px solid rgba(84,173,232,.45);background:rgba(30,72,102,.1);color:#c8d2dc;font-size:9px;line-height:1.5}.decision-feedback blockquote span{display:block;margin-bottom:3px;color:#64b9f1;font-size:7px;font-weight:900;letter-spacing:.11em}
.decision-feedback-actions{display:flex;gap:7px;align-items:center;margin-top:11px;flex-wrap:wrap}.decision-feedback-actions .decision-primary{margin-left:auto}.decision-feedback-actions small{font-size:7px}

.decision-empty,.decision-complete { min-height:100%;display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;padding:30px; }
.decision-complete > div { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:min(640px,100%); }
.decision-complete article { padding:13px;border:1px solid rgba(83,154,204,.14);border-radius:12px;background:rgba(10,22,35,.48); }
.decision-complete article strong,.decision-complete article small{display:block}.decision-complete article strong{color:#dce7ef;font-size:14px}.decision-complete article small{margin-top:3px;color:#6f8497;font-size:7px}
.decision-complete p{max-width:680px}.decision-complete .decision-secondary{margin-top:-4px}

.decision-mistakes,.decision-stats { width:min(1050px,100%);margin:0 auto; }
.decision-mistakes header,.decision-stats header{margin-bottom:14px}.decision-mistakes > div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.decision-mistakes article{padding:14px;border:1px solid rgba(190,107,93,.16);border-radius:13px;background:rgba(37,17,20,.26)}.decision-mistakes article > span{color:#bb7d77;font-size:7px;font-weight:900;letter-spacing:.08em}.decision-mistakes article strong{display:block;margin:4px 0;color:#d8c6c3;font-size:10px}.decision-mistakes article small{color:#846f70;font-size:7px}.decision-mistakes article p{margin:8px 0;color:#9c8f91;font-size:8px;line-height:1.45}.decision-mistakes article button{padding:0;border:0;background:transparent;color:#77bce8;cursor:pointer;font-size:8px}.decision-empty-copy{grid-column:1/-1;padding:30px;text-align:center;color:#6d8194;font-size:9px}
.decision-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.decision-stat-grid article{padding:15px;border:1px solid rgba(84,152,202,.14);border-radius:13px;background:rgba(10,22,35,.45)}.decision-stat-grid article>div{display:flex;align-items:center;gap:7px}.decision-stat-grid article>div span{color:#d6af67}.decision-stat-grid article>div strong{color:#bdc9d3;font-size:9px}.decision-stat-grid b{display:block;margin:10px 0 3px;color:#e5edf3;font-size:20px}.decision-stat-grid small{color:#6d8194;font-size:7px}.decision-stat-grid i{display:block;height:3px;margin-top:10px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.05)}.decision-stat-grid u{display:block;height:100%;background:linear-gradient(90deg,#4aa7e2,#d5ad64);text-decoration:none}.decision-recent{margin-top:16px}.decision-recent h4{margin:0 0 8px;color:#9cb0c2;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.decision-recent>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:9px 11px;border-bottom:1px solid rgba(255,255,255,.045);font-size:8px}.decision-recent strong{color:#b9c6d0}.decision-recent span{color:#d5b77f}.decision-recent small{color:#71869a}.decision-recent p{color:#71869a;font-size:9px}

@media (max-width: 860px){
  .decision-trainer{padding:max(5px,env(safe-area-inset-top)) 5px max(5px,env(safe-area-inset-bottom));}.decision-shell{border-radius:17px}.decision-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 12px 9px}.decision-header p{display:none}.decision-header-stats{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,1fr);width:100%}.decision-header-stats span{min-width:0;padding:5px 3px}.decision-header-stats strong{font-size:12px}.decision-header-stats small{font-size:5px}.decision-close{width:38px;height:38px}.decision-content{padding:11px 8px 17px}.decision-footer{display:none}.decision-domain-grid{grid-template-columns:repeat(2,1fr)}.decision-domain{min-height:110px;padding:13px}.decision-start{align-items:stretch;flex-direction:column}.decision-start .decision-primary{width:100%}.decision-progress{grid-template-columns:auto minmax(70px,1fr)}.decision-progress small{grid-column:1/-1;text-align:center}.decision-confidence{grid-template-columns:repeat(3,1fr)}.decision-confidence>span{grid-column:1/-1}.decision-confidence button small{display:none}.decision-choices{grid-template-columns:1fr}.decision-feedback>div:first-child small{width:100%;margin-left:0}.decision-feedback-actions{display:grid;grid-template-columns:1fr}.decision-feedback-actions .decision-primary{margin-left:0}.decision-mistakes>div,.decision-stat-grid{grid-template-columns:1fr}.decision-complete>div{grid-template-columns:1fr}.decision-recent>div{grid-template-columns:1fr auto}.decision-recent small{grid-column:1/-1}
}
@media (max-height:650px) and (min-width:861px){.decision-trainer{padding:7px}.decision-header{padding-top:9px;padding-bottom:7px}.decision-header p{display:none}.decision-content{padding-top:10px}.decision-card{padding-top:18px;padding-bottom:18px}.decision-card header h3{margin-bottom:10px}.decision-confidence{margin-bottom:7px}.decision-choices button{min-height:48px}.decision-feedback{padding:11px;margin-top:9px}}

/* V5 · Banque d'Erreurs */
.has-mistake-bank .scene-stage { filter: saturate(.68) brightness(.55); transform: scale(1.004); transition: filter .18s ease, transform .18s ease; }
.mistake-bank { position:fixed; inset:0; z-index:75; padding:clamp(8px,1.6vw,24px); background:radial-gradient(circle at 48% 14%,rgba(122,51,57,.18),transparent 38%),rgba(2,5,12,.88); backdrop-filter:blur(14px); opacity:0; transition:opacity .17s ease; }
.mistake-bank.is-open { opacity:1; }
.mistake-shell { width:min(1320px,100%); height:100%; margin:0 auto; display:grid; grid-template-rows:auto auto minmax(0,1fr) auto; overflow:hidden; border:1px solid rgba(231,196,126,.22); border-radius:23px; background:linear-gradient(165deg,rgba(14,12,20,.988),rgba(6,9,16,.99)); box-shadow:0 34px 110px rgba(0,0,0,.56),inset 0 0 70px rgba(161,72,69,.025); }
.mistake-header { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:20px; align-items:center; padding:18px 22px 14px; border-bottom:1px solid rgba(231,196,126,.12); }
.mistake-eyebrow,.mistake-kicker { color:#d17d78; font-size:8px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.mistake-header h2 { margin:4px 0 1px; color:#efcd91; font:500 clamp(25px,3vw,40px)/1 Georgia,serif; }
.mistake-header p { margin:5px 0 0; color:#8f949f; font-size:10px; }
.mistake-header-stats { display:grid; grid-template-columns:repeat(4,auto); gap:6px; }
.mistake-header-stats span { min-width:72px; display:grid; gap:1px; padding:7px 9px; border:1px solid rgba(177,104,99,.15); border-radius:10px; background:rgba(42,20,24,.38); text-align:center; }
.mistake-header-stats strong { color:#eadede; font-size:13px; }
.mistake-header-stats small { color:#8a6769; font-size:6px; letter-spacing:.08em; }
.mistake-close { width:42px;height:42px;border:1px solid rgba(231,196,126,.28);border-radius:50%;background:rgba(255,255,255,.03);color:#f2d59e;font-size:25px;cursor:pointer; }
.mistake-tabs { display:flex;gap:5px;padding:8px 12px;border-bottom:1px solid rgba(231,196,126,.08);overflow-x:auto; }
.mistake-tabs button { flex:0 0 auto;padding:7px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:#8f7f84;font-size:8px;font-weight:800;cursor:pointer; }
.mistake-tabs button.is-active { border-color:rgba(197,103,98,.26);background:rgba(119,47,50,.13);color:#e7a19c; }
.mistake-content { min-height:0;overflow:auto;padding:18px 20px 24px;scrollbar-width:thin;scrollbar-color:rgba(174,95,91,.3) transparent; }
.mistake-footer { display:flex;align-items:center;gap:13px;padding:8px 15px;border-top:1px solid rgba(231,196,126,.08);color:#756d77;font-size:8px; }
.mistake-footer span { display:flex;align-items:center;gap:5px; }.mistake-footer strong{margin-left:auto;color:#786d76;font-size:7px}.mistake-footer kbd,.mistake-bank kbd{padding:2px 5px;border:1px solid rgba(236,199,128,.2);border-radius:5px;background:rgba(255,255,255,.035);color:#e5c98f;font-size:7px;font-family:inherit}
.mistake-primary,.mistake-secondary,.mistake-danger { min-height:38px;padding:9px 14px;border-radius:10px;cursor:pointer;font-weight:800; }
.mistake-primary{border:1px solid rgba(225,181,99,.42);background:linear-gradient(180deg,rgba(195,139,54,.26),rgba(126,84,25,.2));color:#f3d79f}.mistake-secondary{border:1px solid rgba(169,92,89,.28);background:rgba(102,39,43,.12);color:#e3a3a0}.mistake-danger{border:1px solid rgba(215,78,78,.3);background:rgba(110,24,28,.2);color:#e69a9a}.mistake-primary:hover,.mistake-secondary:hover,.mistake-danger:hover,.mistake-primary:focus-visible,.mistake-secondary:focus-visible,.mistake-danger:focus-visible{outline:none;filter:brightness(1.13)}

.mistake-dashboard{width:min(1080px,100%);margin:0 auto;display:grid;gap:12px}.mistake-hero{padding:22px;border:1px solid rgba(207,112,106,.17);border-radius:18px;background:radial-gradient(circle at 82% 18%,rgba(132,55,59,.14),transparent 35%),rgba(24,17,25,.52)}.mistake-hero h3,.mistake-create h3,.mistake-stats h3,.mistake-review-empty h3{margin:5px 0 8px;color:#efd09a;font:500 clamp(25px,3vw,38px)/1.05 Georgia,serif}.mistake-hero p,.mistake-create header p,.mistake-stats header p,.mistake-review-empty p{margin:0;color:#9896a0;font-size:10px;line-height:1.55}.mistake-hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.mistake-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.mistake-mini-grid article{padding:14px;border:1px solid rgba(176,96,93,.13);border-radius:13px;background:rgba(30,18,24,.5);display:grid;gap:3px}.mistake-mini-grid strong{color:#f0d7ab;font-size:20px}.mistake-mini-grid span{color:#82777f;font-size:7px;text-transform:uppercase;letter-spacing:.07em}.mistake-priorities{padding:14px;border:1px solid rgba(192,113,107,.12);border-radius:15px;background:rgba(16,13,20,.45)}.mistake-priorities>header{display:flex;align-items:end;gap:12px;margin-bottom:10px}.mistake-priorities h4{margin:3px 0 0;color:#b7a9aa;font-size:12px}.mistake-priorities>header button{margin-left:auto;padding:0;border:0;background:none;color:#cb8f8a;font-size:8px;cursor:pointer}.mistake-priorities>div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}

.mistake-list-card{border:1px solid rgba(189,102,98,.14);border-radius:13px;background:rgba(35,18,23,.42);overflow:hidden}.mistake-list-card.status-consolidating{border-color:rgba(210,166,92,.14);background:rgba(42,32,17,.28)}.mistake-list-card.status-resolved{border-color:rgba(85,164,124,.13);background:rgba(17,37,28,.25)}.mistake-list-main{width:100%;display:grid;gap:4px;padding:13px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.mistake-list-main>span{color:#b87976;font-size:7px;font-weight:900;letter-spacing:.07em}.mistake-list-main>strong{color:#d9c9ca;font-size:10px}.mistake-list-main>small{color:#826f75;font-size:7px}.mistake-list-main>p{margin:3px 0 0;color:#9a8e94;font-size:8px;line-height:1.45}.mistake-list-main:hover,.mistake-list-main:focus-visible{outline:none;background:rgba(135,60,64,.09)}

.mistake-toolbar{position:sticky;top:-18px;z-index:2;display:flex;align-items:center;gap:8px;padding:0 0 10px;background:linear-gradient(#0d0c13 75%,transparent)}.mistake-toolbar>label{min-width:220px;flex:1;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(172,94,91,.17);border-radius:10px;background:rgba(255,255,255,.025)}.mistake-toolbar input{width:100%;border:0;outline:0;background:transparent;color:#d8d0d1;font:inherit;font-size:9px}.mistake-toolbar label span{color:#ad7777}.mistake-filters{display:flex;gap:4px;overflow-x:auto}.mistake-filters button{flex:0 0 auto;padding:7px 9px;border:1px solid rgba(169,91,89,.12);border-radius:8px;background:transparent;color:#85757a;font-size:7px;cursor:pointer}.mistake-filters button.is-active{border-color:rgba(216,126,120,.32);background:rgba(119,47,50,.12);color:#d99a96}.mistake-bank-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:10px;min-height:100%}.mistake-list{display:grid;align-content:start;gap:7px}.mistake-detail{min-width:0}.mistake-detail-card{padding:18px;border:1px solid rgba(192,113,107,.15);border-radius:16px;background:linear-gradient(150deg,rgba(32,19,25,.66),rgba(10,10,16,.72))}.mistake-detail-card h3{margin:5px 0 9px;color:#ead3aa;font:500 24px/1.08 Georgia,serif}.mistake-detail-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.mistake-detail-meta span,.mistake-skill-link{padding:5px 7px;border:1px solid rgba(188,109,104,.12);border-radius:99px;color:#957b7e;font-size:7px}.mistake-detail-card section{margin:10px 0;padding:10px 11px;border:1px solid rgba(255,255,255,.05);border-radius:10px;background:rgba(255,255,255,.015)}.mistake-detail-card section strong{display:block;margin-bottom:4px;color:#9f8587;font-size:7px;letter-spacing:.08em}.mistake-detail-card section p{margin:0;color:#aaa2a5;font-size:9px;line-height:1.55}.mistake-detail-card .mistake-wrong{border-color:rgba(191,83,83,.16);background:rgba(91,31,35,.11)}.mistake-detail-card .mistake-correct{border-color:rgba(89,159,125,.13);background:rgba(32,75,55,.09)}.mistake-detail-card blockquote,.mistake-review-answer blockquote{margin:10px 0;padding:10px 12px;border-left:2px solid rgba(215,174,92,.55);background:rgba(111,79,27,.08);color:#d5c7ab;font-size:9px;line-height:1.5}.mistake-detail-card blockquote span,.mistake-review-answer blockquote span{display:block;margin-bottom:3px;color:#d4aa61;font-size:7px;font-weight:900;letter-spacing:.1em}.mistake-status-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:13px 0 8px}.mistake-status-actions button{padding:8px 6px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:rgba(255,255,255,.02);color:#7f747a;font-size:7px;cursor:pointer}.mistake-status-actions button.status-active.is-active{border-color:rgba(211,99,99,.38);color:#e3a1a1;background:rgba(110,38,42,.14)}.mistake-status-actions button.status-consolidating.is-active{border-color:rgba(211,169,90,.38);color:#e1c181;background:rgba(102,75,31,.13)}.mistake-status-actions button.status-resolved.is-active{border-color:rgba(91,183,133,.35);color:#a4d9bc;background:rgba(32,90,59,.12)}.mistake-detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.mistake-detail-actions .mistake-danger{margin-left:auto}

.mistake-review{width:min(920px,100%);min-height:100%;margin:0 auto;display:grid;align-content:center;gap:10px}.mistake-review-progress{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:10px;align-items:center;color:#82777f;font-size:8px}.mistake-review-progress>div{height:3px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.055)}.mistake-review-progress i{display:block;height:100%;background:linear-gradient(90deg,#bb6663,#d5ad64)}.mistake-review-card{padding:clamp(22px,3vw,35px);border:1px solid rgba(199,112,107,.18);border-radius:20px;background:radial-gradient(circle at 50% 10%,rgba(124,51,55,.12),transparent 34%),rgba(18,14,21,.8);text-align:center}.mistake-review-card h3{margin:7px 0 12px;color:#e7d4b3;font:500 clamp(21px,2.5vw,31px)/1.08 Georgia,serif}.mistake-review-situation{max-width:780px;margin:0 auto 13px;color:#aaa2a5;font-size:10px;line-height:1.6}.mistake-review-wrong{max-width:700px;margin:0 auto 12px;padding:10px;border:1px solid rgba(187,80,80,.14);border-radius:10px;background:rgba(100,31,36,.09);display:grid;gap:4px}.mistake-review-wrong strong{color:#bd7776;font-size:7px}.mistake-review-wrong span{color:#a18f93;font-size:9px}.mistake-review-answer{text-align:left}.mistake-review-answer>strong{display:block;color:#81bd9d;font-size:7px;letter-spacing:.08em}.mistake-review-answer>p{color:#b7b0b1;font-size:9px;line-height:1.55}.mistake-review-ratings{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px}.mistake-review-ratings button{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center;padding:10px;border:1px solid rgba(188,109,104,.16);border-radius:10px;background:rgba(255,255,255,.018);color:#b9aaad;text-align:left;cursor:pointer}.mistake-review-ratings button strong{font-size:8px}.mistake-review-ratings button small{grid-column:2;color:#766c73;font-size:6px}.mistake-review-empty{min-height:100%;display:grid;place-content:center;justify-items:center;gap:9px;text-align:center;padding:30px}.mistake-review-empty p{max-width:650px}

.mistake-create,.mistake-stats{width:min(1020px,100%);margin:0 auto}.mistake-create header,.mistake-stats header{margin-bottom:14px}.mistake-create form{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:15px;border:1px solid rgba(189,106,102,.14);border-radius:15px;background:rgba(22,15,21,.5)}.mistake-create label{display:grid;gap:5px;color:#927f83;font-size:8px;font-weight:800}.mistake-create label.wide,.mistake-form-actions.wide{grid-column:1/-1}.mistake-create input,.mistake-create textarea,.mistake-create select{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid rgba(180,102,99,.16);border-radius:9px;outline:none;background:#0c0d14;color:#d6cdd0;font:inherit;font-size:9px;resize:vertical}.mistake-create input:focus,.mistake-create textarea:focus,.mistake-create select:focus{border-color:rgba(211,127,121,.4)}.mistake-form-actions{display:flex;gap:7px;margin-top:3px}.mistake-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mistake-stat-grid article{padding:16px;border:1px solid rgba(177,97,94,.13);border-radius:13px;background:rgba(31,18,24,.42);display:grid;gap:4px}.mistake-stat-grid strong{color:#ead5ad;font-size:22px}.mistake-stat-grid small{color:#82757b;font-size:7px}.mistake-category-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.mistake-category-stats article{padding:12px;border:1px solid rgba(171,97,94,.12);border-radius:12px;background:rgba(25,17,22,.42)}.mistake-category-stats article>div{display:grid;grid-template-columns:auto 1fr;gap:3px 7px}.mistake-category-stats article>div span{grid-row:1/3;color:#d4ad66}.mistake-category-stats article strong{color:#bdb0b1;font-size:8px}.mistake-category-stats article small{color:#726970;font-size:6px}.mistake-category-stats b{display:inline-block;margin-top:8px;color:#d8c6c4;font-size:17px}.mistake-category-stats em{margin-left:4px;color:#796e74;font-size:6px;font-style:normal}.mistake-category-stats i{display:block;height:3px;margin-top:8px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.05)}.mistake-category-stats u{display:block;height:100%;background:linear-gradient(90deg,#b9605f,#d1a65d);text-decoration:none}.mistake-recurrent{margin-top:14px}.mistake-recurrent h4{margin:0 0 7px;color:#a49092;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.mistake-recurrent button{width:100%;display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:9px 11px;border:0;border-bottom:1px solid rgba(255,255,255,.045);background:transparent;color:inherit;text-align:left;cursor:pointer}.mistake-recurrent strong{color:#bcb0b2;font-size:8px}.mistake-recurrent span{color:#d19b78;font-size:8px}.mistake-recurrent small{color:#766b72;font-size:7px}.mistake-empty-copy{padding:28px;text-align:center;color:#766b73;font-size:9px}

@media (max-width:860px){
  .mistake-bank{padding:max(5px,env(safe-area-inset-top)) 5px max(5px,env(safe-area-inset-bottom))}.mistake-shell{border-radius:17px}.mistake-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 12px 9px}.mistake-header p{display:none}.mistake-header-stats{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,1fr);width:100%}.mistake-header-stats span{min-width:0;padding:5px 3px}.mistake-header-stats strong{font-size:12px}.mistake-header-stats small{font-size:5px}.mistake-close{width:38px;height:38px}.mistake-content{padding:11px 8px 17px}.mistake-footer{display:none}.mistake-mini-grid{grid-template-columns:repeat(2,1fr)}.mistake-priorities>div{grid-template-columns:1fr}.mistake-hero-actions{display:grid}.mistake-toolbar{top:-11px;padding-top:2px;display:grid}.mistake-filters{width:100%}.mistake-bank-layout{grid-template-columns:1fr}.mistake-detail{order:-1}.mistake-detail-card h3{font-size:21px}.mistake-status-actions{grid-template-columns:1fr}.mistake-detail-actions{display:grid}.mistake-detail-actions .mistake-danger{margin-left:0}.mistake-review-progress{grid-template-columns:auto minmax(70px,1fr)}.mistake-review-progress small{grid-column:1/-1;text-align:center}.mistake-review-ratings{grid-template-columns:1fr}.mistake-create form{grid-template-columns:1fr;padding:12px}.mistake-create label,.mistake-create label.wide,.mistake-form-actions.wide{grid-column:1}.mistake-stat-grid{grid-template-columns:1fr}.mistake-category-stats{grid-template-columns:repeat(2,1fr)}.mistake-recurrent button{grid-template-columns:1fr auto}.mistake-recurrent small{grid-column:1/-1}
}
@media (max-height:650px) and (min-width:861px){.mistake-bank{padding:7px}.mistake-header{padding-top:9px;padding-bottom:7px}.mistake-header p{display:none}.mistake-content{padding-top:10px}.mistake-review-card{padding-top:18px;padding-bottom:18px}}

/* V6 · Analyse de Mains & Journal de Review */
.hand-review[hidden]{display:none}.hand-review{position:fixed;inset:0;z-index:78;padding:clamp(8px,1.5vw,18px);box-sizing:border-box;background:rgba(2,4,9,.76);backdrop-filter:blur(9px);opacity:0;transition:opacity .17s ease}.hand-review.is-open{opacity:1}.review-shell{width:min(1440px,100%);height:100%;margin:auto;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid rgba(105,167,184,.2);border-radius:22px;background:radial-gradient(circle at 50% -20%,rgba(29,96,118,.16),transparent 42%),linear-gradient(150deg,#0a1018,#080a10 68%);box-shadow:0 35px 100px rgba(0,0,0,.62)}.review-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:17px 20px 13px;border-bottom:1px solid rgba(105,167,184,.1)}.review-eyebrow,.review-kicker{display:block;color:#6fa7b6;font-size:7px;font-weight:900;letter-spacing:.15em}.review-header h2{margin:3px 0 3px;color:#e8d5ad;font:500 clamp(22px,2.5vw,34px)/1.02 Georgia,serif}.review-header p{margin:0;color:#756f72;font-size:8px}.review-header-stats{display:grid;grid-template-columns:repeat(4,auto);gap:5px}.review-header-stats span{min-width:68px;padding:6px 9px;border:1px solid rgba(103,164,181,.1);border-radius:9px;background:rgba(255,255,255,.018);display:grid;text-align:center}.review-header-stats strong{color:#d8c39d;font-size:16px}.review-header-stats small{color:#65747b;font-size:5px;letter-spacing:.08em}.review-close{width:42px;height:42px;border:1px solid rgba(105,167,184,.14);border-radius:50%;background:rgba(255,255,255,.02);color:#8e9398;font-size:23px;cursor:pointer}.review-close:hover{border-color:rgba(117,190,208,.32);color:#e1cfaa}.review-tabs{display:flex;gap:4px;padding:8px 20px;border-bottom:1px solid rgba(255,255,255,.045);overflow-x:auto}.review-tabs button{flex:0 0 auto;padding:7px 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:#68757a;font-size:7px;font-weight:800;cursor:pointer}.review-tabs button.is-active{border-color:rgba(107,176,194,.2);background:rgba(30,102,122,.12);color:#a9c6cc}.review-content{min-height:0;overflow:auto;padding:16px 20px 22px}.review-footer{display:flex;gap:17px;align-items:center;padding:8px 20px;border-top:1px solid rgba(255,255,255,.045);color:#626c70;font-size:6px}.review-footer kbd{padding:2px 5px;border:1px solid rgba(255,255,255,.09);border-radius:4px;color:#929da1}.review-footer strong{margin-left:auto;color:#58666b;font-weight:600}.review-primary,.review-secondary,.review-danger{padding:9px 12px;border-radius:9px;font:inherit;font-size:8px;font-weight:800;cursor:pointer}.review-primary{border:1px solid rgba(95,183,205,.3);background:linear-gradient(135deg,rgba(38,120,143,.24),rgba(23,74,94,.18));color:#b8d2d8}.review-secondary{border:1px solid rgba(106,160,175,.14);background:rgba(255,255,255,.018);color:#899a9f}.review-danger{border:1px solid rgba(185,82,83,.16);background:rgba(99,31,35,.08);color:#a97677}.review-primary:hover,.review-secondary:hover{border-color:rgba(118,193,210,.36);color:#d7dfdf}.review-primary:disabled,.review-secondary:disabled{opacity:.4;cursor:default}
.review-dashboard{width:min(1100px,100%);margin:auto;display:grid;gap:12px}.review-hero{padding:clamp(20px,3vw,34px);border:1px solid rgba(100,170,188,.15);border-radius:19px;background:radial-gradient(circle at 15% 0%,rgba(45,121,143,.14),transparent 32%),rgba(15,18,24,.66)}.review-hero h3{max-width:850px;margin:6px 0 8px;color:#ead7b2;font:500 clamp(24px,3vw,36px)/1.05 Georgia,serif}.review-hero p{max-width:780px;margin:0;color:#8d9294;font-size:10px;line-height:1.6}.review-hero-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.review-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.review-mini-grid article{padding:14px;border:1px solid rgba(102,164,179,.1);border-radius:12px;background:rgba(17,20,26,.48);display:grid;gap:3px}.review-mini-grid strong{color:#dfc89f;font-size:22px}.review-mini-grid small{color:#65747a;font-size:7px}.review-priorities{padding:14px;border:1px solid rgba(103,164,181,.1);border-radius:15px;background:rgba(12,15,20,.52)}.review-priorities>header{display:flex;justify-content:space-between;align-items:end;margin-bottom:7px}.review-priorities h4{margin:3px 0 0;color:#afa39a;font:500 18px Georgia,serif}.review-priorities>header small{color:#5d686d;font-size:7px}.review-priorities>div{display:grid;gap:5px}.review-card{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 11px;border:1px solid rgba(105,164,180,.09);border-radius:10px;background:rgba(255,255,255,.012);color:inherit;text-align:left;cursor:pointer}.review-card:hover{border-color:rgba(109,179,196,.22);background:rgba(44,106,122,.06)}.review-card-icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:900}.review-card-icon.verdict-good{background:rgba(52,117,77,.13);color:#86bd9c}.review-card-icon.verdict-uncertain{background:rgba(127,94,40,.13);color:#c5a36e}.review-card-icon.verdict-mistake{background:rgba(119,44,49,.15);color:#cf8585}.review-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bdb2a8;font-size:9px}.review-card small{display:block;margin-top:3px;color:#667278;font-size:6px}.review-card em{padding:4px 6px;border-radius:99px;font-size:6px;font-style:normal}.review-card em.status-pending{background:rgba(113,85,38,.12);color:#c5a266}.review-card em.status-followup{background:rgba(92,75,119,.12);color:#a99ac2}.review-card em.status-reviewed{background:rgba(44,104,73,.12);color:#8db69d}.review-empty-copy{padding:25px;text-align:center;color:#687278;font-size:9px}
.review-toolbar{position:sticky;top:-16px;z-index:3;display:flex;align-items:center;gap:7px;padding:0 0 10px;background:linear-gradient(#090c12 75%,transparent)}.review-toolbar>label{min-width:260px;flex:1;display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(102,164,179,.12);border-radius:10px;background:rgba(255,255,255,.018)}.review-toolbar input{width:100%;border:0;outline:0;background:transparent;color:#d2d0ca;font:inherit;font-size:9px}.review-toolbar label span{color:#6d9cab}.review-filters{display:flex;gap:4px;overflow-x:auto}.review-filters button{flex:0 0 auto;padding:7px 9px;border:1px solid rgba(103,160,175,.1);border-radius:8px;background:transparent;color:#657278;font-size:7px;cursor:pointer}.review-filters button.is-active{border-color:rgba(104,179,197,.28);background:rgba(36,105,124,.1);color:#a6c1c8}.review-add-small{flex:0 0 auto}.review-journal-layout{display:grid;grid-template-columns:minmax(320px,.88fr) minmax(390px,1.12fr);gap:10px}.review-list{display:grid;align-content:start;gap:6px}.review-detail{min-width:0}.review-detail-card{padding:18px;border:1px solid rgba(104,168,184,.13);border-radius:16px;background:linear-gradient(150deg,rgba(16,25,31,.68),rgba(9,10,15,.72))}.review-detail-card h3{margin:5px 0 9px;color:#ead7b2;font:500 24px/1.08 Georgia,serif}.review-detail-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}.review-detail-meta span,.review-skill-link{padding:5px 7px;border:1px solid rgba(103,166,183,.1);border-radius:99px;background:transparent;color:#71858b;font:inherit;font-size:7px}.review-skill-link{cursor:pointer}.review-cards-line{display:flex;flex-wrap:wrap;gap:7px;align-items:center;padding:9px 10px;margin-bottom:9px;border-radius:10px;background:rgba(29,74,88,.08)}.review-cards-line b{color:#607b84;font-size:6px}.review-cards-line strong{margin-right:9px;color:#d4c8af;font-size:10px}.review-detail-card section{margin:9px 0;padding:10px 11px;border:1px solid rgba(255,255,255,.045);border-radius:10px;background:rgba(255,255,255,.012)}.review-detail-card section strong{display:block;margin-bottom:4px;color:#788a90;font-size:7px;letter-spacing:.08em}.review-detail-card section p{margin:0;color:#a8a6a2;font-size:9px;line-height:1.55}.review-detail-card .review-action{border-color:rgba(153,120,65,.11)}.review-detail-card .review-best{border-color:rgba(78,145,108,.13);background:rgba(34,79,57,.07)}.review-detail-card blockquote{margin:11px 0;padding:11px 12px;border-left:2px solid rgba(214,174,94,.52);background:rgba(100,74,28,.07);color:#d2c6ad;font-size:9px;line-height:1.55}.review-detail-card blockquote span{display:block;margin-bottom:3px;color:#d2aa61;font-size:7px;font-weight:900;letter-spacing:.1em}.review-tags{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.review-tags span{padding:4px 7px;border-radius:99px;background:rgba(36,100,117,.1);color:#7fa4ae;font-size:6px}.review-status-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:12px 0}.review-status-actions button{padding:8px 6px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:rgba(255,255,255,.015);color:#6f787c;font-size:7px;cursor:pointer}.review-status-actions button.status-pending.is-active{border-color:rgba(204,162,89,.3);color:#d3b77f;background:rgba(96,70,27,.1)}.review-status-actions button.status-followup.is-active{border-color:rgba(143,121,181,.3);color:#b8a7d0;background:rgba(67,51,92,.1)}.review-status-actions button.status-reviewed.is-active{border-color:rgba(81,166,119,.3);color:#9ac8ae;background:rgba(33,85,57,.1)}.review-detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.review-detail-actions .review-danger{margin-left:auto}.review-history{display:block;margin-top:10px;color:#5f696d;font-size:6px}
.review-create,.review-stats{width:min(1060px,100%);margin:auto}.review-create>header,.review-stats>header{margin-bottom:13px}.review-create h3,.review-stats h3{margin:4px 0 5px;color:#dbc9aa;font:500 24px Georgia,serif}.review-create header p,.review-stats header p{margin:0;color:#727b7e;font-size:8px}.review-import{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;margin-bottom:10px;padding:12px;border:1px solid rgba(107,170,186,.12);border-radius:13px;background:rgba(23,54,63,.07)}.review-import label{display:grid;gap:5px;color:#72868c;font-size:8px}.review-import textarea{width:100%;box-sizing:border-box;padding:9px;border:1px solid rgba(104,164,180,.14);border-radius:9px;background:#090d13;color:#cfcac0;font:inherit;font-size:8px;resize:vertical}.review-import small{grid-column:1/-1;color:#64818a;font-size:6px}.review-create form{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:15px;border:1px solid rgba(104,166,182,.12);border-radius:15px;background:rgba(15,19,24,.5)}.review-create label{display:grid;gap:5px;color:#728187;font-size:8px;font-weight:800}.review-create label.wide,.review-form-actions.wide{grid-column:1/-1}.review-create input,.review-create textarea,.review-create select{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid rgba(103,165,181,.13);border-radius:9px;outline:none;background:#090d13;color:#d4d0c6;font:inherit;font-size:9px;resize:vertical}.review-create input:focus,.review-create textarea:focus,.review-create select:focus{border-color:rgba(108,189,209,.38)}.review-form-actions{display:flex;gap:7px;margin-top:3px}.review-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.review-stat-grid article{padding:15px;border:1px solid rgba(102,163,179,.11);border-radius:12px;background:rgba(16,21,27,.45);display:grid;gap:3px}.review-stat-grid strong{color:#dfc99f;font-size:21px}.review-stat-grid small{color:#68767b;font-size:7px}.review-street-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:11px}.review-street-stats article{padding:12px;border:1px solid rgba(101,161,177,.1);border-radius:11px;background:rgba(15,20,25,.43)}.review-street-stats strong{display:block;color:#a6a3a0;font-size:8px}.review-street-stats span,.review-street-stats small{display:block;margin-top:3px;color:#69777c;font-size:6px}.review-street-stats i{display:block;height:3px;margin-top:8px;border-radius:99px;background:rgba(255,255,255,.045);overflow:hidden}.review-street-stats u{display:block;height:100%;background:linear-gradient(90deg,#547f8b,#b36d67);text-decoration:none}.review-top-tags{margin-top:13px;padding:13px;border:1px solid rgba(104,164,181,.1);border-radius:12px}.review-top-tags h4{margin:0 0 8px;color:#8b9698;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.review-top-tags>div{display:flex;flex-wrap:wrap;gap:6px}.review-top-tags span{padding:6px 8px;border-radius:99px;background:rgba(35,94,109,.09);color:#7599a2;font-size:7px}.review-top-tags b{margin-left:4px;color:#d0b985}
@media (max-width:860px){.hand-review{padding:max(5px,env(safe-area-inset-top)) 5px max(5px,env(safe-area-inset-bottom))}.review-shell{border-radius:17px}.review-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 12px 9px}.review-header p{display:none}.review-header-stats{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,1fr);width:100%}.review-header-stats span{min-width:0;padding:5px 3px}.review-header-stats strong{font-size:12px}.review-header-stats small{font-size:5px}.review-close{width:38px;height:38px}.review-tabs{padding-left:9px;padding-right:9px}.review-content{padding:11px 8px 17px}.review-footer{display:none}.review-mini-grid{grid-template-columns:repeat(2,1fr)}.review-priorities>header{align-items:start}.review-toolbar{top:-11px;padding-top:2px;display:grid}.review-toolbar>label{min-width:0}.review-filters{width:100%}.review-add-small{width:100%}.review-journal-layout{grid-template-columns:1fr}.review-detail{order:-1}.review-detail-card h3{font-size:21px}.review-status-actions{grid-template-columns:1fr}.review-detail-actions{display:grid}.review-detail-actions .review-danger{margin-left:0}.review-import{grid-template-columns:1fr}.review-import small{grid-column:1}.review-create form{grid-template-columns:1fr;padding:12px}.review-create label,.review-create label.wide,.review-form-actions.wide{grid-column:1}.review-stat-grid{grid-template-columns:repeat(2,1fr)}.review-street-stats{grid-template-columns:repeat(2,1fr)}}
@media (max-height:650px) and (min-width:861px){.hand-review{padding:7px}.review-header{padding-top:9px;padding-bottom:7px}.review-header p{display:none}.review-content{padding-top:10px}}

/* V7 — Centre de Progression & Profil du Joueur */
.progress-center[hidden]{display:none}.progress-center{position:fixed;inset:0;z-index:82;padding:clamp(8px,1.5vw,18px);box-sizing:border-box;background:radial-gradient(circle at 50% 7%,rgba(154,119,57,.14),transparent 34%),rgba(2,4,9,.79);backdrop-filter:blur(11px);opacity:0;transition:opacity .17s ease}.progress-center.is-open{opacity:1}.progress-shell{width:min(1460px,100%);height:100%;margin:auto;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;border:1px solid rgba(191,151,78,.18);border-radius:22px;background:radial-gradient(circle at 50% -15%,rgba(105,79,35,.12),transparent 36%),linear-gradient(150deg,#0c1017,#080a10 68%);box-shadow:0 35px 110px rgba(0,0,0,.66)}.progress-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:17px 20px 13px;border-bottom:1px solid rgba(202,160,82,.09)}.progress-eyebrow,.progress-kicker{display:block;color:#b78e51;font-size:7px;font-weight:900;letter-spacing:.15em}.progress-header h2{margin:3px 0;color:#ead7b2;font:500 clamp(22px,2.45vw,34px)/1.02 Georgia,serif}.progress-header p{margin:0;color:#786f68;font-size:8px}.progress-header-stats{display:grid;grid-template-columns:repeat(4,auto);gap:5px}.progress-header-stats span{min-width:68px;padding:6px 9px;border:1px solid rgba(184,143,74,.1);border-radius:9px;background:rgba(255,255,255,.016);display:grid;text-align:center}.progress-header-stats strong{color:#dbc49b;font-size:16px}.progress-header-stats small{color:#6f6a64;font-size:5px;letter-spacing:.08em}.progress-close{width:42px;height:42px;border:1px solid rgba(190,148,78,.14);border-radius:50%;background:rgba(255,255,255,.02);color:#92908b;font-size:23px;cursor:pointer}.progress-close:hover{border-color:rgba(210,174,105,.35);color:#ead6ac}.progress-tabs{display:flex;gap:4px;padding:8px 20px;border-bottom:1px solid rgba(255,255,255,.045);overflow-x:auto}.progress-tabs button{flex:0 0 auto;padding:7px 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:#706f6c;font-size:7px;font-weight:800;cursor:pointer}.progress-tabs button.is-active{border-color:rgba(192,150,80,.2);background:rgba(105,76,30,.1);color:#c8ad7d}.progress-content{min-height:0;overflow:auto;padding:16px 20px 22px}.progress-footer{display:flex;gap:17px;align-items:center;padding:8px 20px;border-top:1px solid rgba(255,255,255,.045);color:#666662;font-size:6px}.progress-footer kbd{padding:2px 5px;border:1px solid rgba(255,255,255,.09);border-radius:4px;color:#97938a}.progress-footer strong{margin-left:auto;color:#5f5e5a;font-weight:600}.progress-primary,.progress-secondary{padding:9px 12px;border-radius:9px;font:inherit;font-size:8px;font-weight:800;cursor:pointer}.progress-primary{border:1px solid rgba(201,158,80,.3);background:linear-gradient(135deg,rgba(126,88,31,.24),rgba(75,52,23,.18));color:#dec28e}.progress-secondary{border:1px solid rgba(174,145,94,.14);background:rgba(255,255,255,.018);color:#96918a}.progress-primary:hover,.progress-secondary:hover{border-color:rgba(216,179,108,.36);color:#eee0c3}.progress-empty{padding:18px;text-align:center;color:#6a6b68;font-size:8px;line-height:1.5}
.progress-dashboard{width:min(1180px,100%);margin:auto;display:grid;gap:12px}.progress-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:22px 24px;border:1px solid rgba(190,148,78,.13);border-radius:18px;background:radial-gradient(circle at 82% 40%,rgba(137,98,37,.13),transparent 28%),linear-gradient(135deg,rgba(28,25,22,.75),rgba(10,13,18,.8))}.progress-hero h3{margin:4px 0 8px;color:#ead6ae;font:500 clamp(26px,3vw,40px)/1 Georgia,serif}.progress-hero p{max-width:760px;margin:0;color:#83807a;font-size:9px;line-height:1.6}.progress-hero-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.progress-score-ring{--score:0;position:relative;width:112px;height:112px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#c49a52 calc(var(--score)*1%),rgba(255,255,255,.055) 0);box-shadow:0 0 30px rgba(168,120,45,.08)}.progress-score-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#0b0e13;border:1px solid rgba(203,161,85,.12)}.progress-score-ring>div{position:relative;z-index:1;text-align:center;display:grid}.progress-score-ring strong{color:#e1c796;font:600 31px Georgia,serif}.progress-score-ring small{color:#696761;font-size:5px;letter-spacing:.12em}.progress-reliability{display:block;margin-top:6px;text-align:center;color:#716d66;font-size:6px}.progress-hero>.progress-score-ring+.progress-reliability{display:none}
.progress-today,.progress-rank-panel,.progress-alerts{padding:15px;border:1px solid rgba(183,145,80,.1);border-radius:14px;background:rgba(255,255,255,.012)}.progress-today>header,.progress-alerts>header,.progress-rank-panel>header{display:flex;align-items:end;justify-content:space-between;gap:8px;margin-bottom:9px}.progress-today h4,.progress-alerts h4,.progress-rank-panel h4{margin:3px 0 0;color:#b8aca0;font:500 18px Georgia,serif}.progress-today>header small{color:#62625f;font-size:6px}.progress-today-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.progress-today-grid button{min-width:0;padding:13px 11px;border:1px solid rgba(184,146,80,.09);border-radius:11px;background:linear-gradient(145deg,rgba(25,25,25,.62),rgba(10,13,17,.65));color:inherit;text-align:left;cursor:pointer}.progress-today-grid button:hover{border-color:rgba(202,161,88,.25);transform:translateY(-1px)}.progress-today-grid strong{display:block;color:#dec89e;font-size:22px}.progress-today-grid span{display:block;margin-top:2px;color:#97928b;font-size:8px;font-weight:800}.progress-today-grid small{display:block;margin-top:4px;color:#60635f;font-size:6px}.progress-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.progress-rank-list{display:grid;gap:5px}.progress-rank-list button{display:grid;grid-template-columns:24px minmax(0,1fr) 92px;gap:9px;align-items:center;width:100%;padding:9px;border:1px solid rgba(255,255,255,.045);border-radius:10px;background:rgba(255,255,255,.01);color:inherit;text-align:left;cursor:pointer}.progress-rank-list button:hover{border-color:rgba(192,151,81,.17)}.progress-rank-list b{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:rgba(132,96,40,.1);color:#a9864e;font-size:8px}.progress-rank-list strong{display:block;color:#aaa49b;font-size:8px}.progress-rank-list span{display:block;margin-top:3px;color:#676a67;font-size:6px}.progress-rank-list i{height:4px;border-radius:99px;background:rgba(255,255,255,.045);overflow:hidden}.progress-rank-list u{display:block;height:100%;background:linear-gradient(90deg,#665237,#c29650);text-decoration:none}.progress-rank-list i.weakness u{background:linear-gradient(90deg,#6a4b43,#b27b5d)}.progress-alerts>div{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.progress-alerts button{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid rgba(255,255,255,.045);border-radius:10px;background:rgba(255,255,255,.012);color:inherit;text-align:left;cursor:pointer}.progress-alerts button:hover{border-color:rgba(194,150,78,.18)}.progress-alerts button>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:rgba(126,85,35,.1);color:#c09756;font-size:9px}.progress-alerts strong{display:block;color:#aaa49d;font-size:8px}.progress-alerts small{display:block;margin-top:3px;color:#676a67;font-size:6px}.progress-alerts i{color:#7d766c;font-style:normal}
.progress-domains{width:min(1240px,100%);margin:auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px}.progress-domain-list{display:grid;align-content:start;gap:5px;padding:13px;border:1px solid rgba(181,143,77,.1);border-radius:14px;background:rgba(255,255,255,.012)}.progress-domain-list>.progress-kicker{margin:0 4px 5px}.progress-domain-list button{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;align-items:center;padding:9px;border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer}.progress-domain-list button:hover,.progress-domain-list button.is-active{border-color:rgba(194,153,82,.16);background:rgba(105,77,32,.07)}.progress-domain-list button>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:rgba(127,91,39,.08);color:#a9854f}.progress-domain-list strong{display:block;color:#a5a098;font-size:8px}.progress-domain-list small{display:block;margin-top:3px;color:#60645f;font-size:6px}.progress-domain-detail{padding:18px;border:1px solid rgba(181,143,77,.1);border-radius:15px;background:linear-gradient(145deg,rgba(19,20,21,.55),rgba(9,11,15,.62))}.progress-domain-detail>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin-bottom:14px}.progress-domain-detail h3{margin:4px 0 6px;color:#e2cda5;font:500 27px Georgia,serif}.progress-domain-detail header p{max-width:650px;margin:0;color:#74736f;font-size:8px;line-height:1.5}.progress-domain-detail .progress-score-ring{width:94px;height:94px}.progress-domain-detail .progress-score-ring strong{font-size:26px}.progress-source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.progress-source-card{display:grid;gap:4px;padding:13px;border:1px solid rgba(255,255,255,.05);border-radius:11px;background:rgba(255,255,255,.012);color:inherit;text-align:left;cursor:pointer}.progress-source-card:hover{border-color:rgba(194,151,80,.18)}.progress-source-card>span{color:#7c7973;font-size:7px;font-weight:800}.progress-source-card>strong{color:#d9c397;font-size:19px}.progress-source-card small{min-height:20px;color:#62645f;font-size:6px}.progress-source-card i{height:3px;border-radius:99px;background:rgba(255,255,255,.04);overflow:hidden}.progress-source-card u{display:block;height:100%;background:linear-gradient(90deg,#625039,#bf934c);text-decoration:none}.progress-domain-evidence{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}.progress-domain-evidence article{padding:11px;border:1px solid rgba(255,255,255,.04);border-radius:10px}.progress-domain-evidence strong{display:block;color:#c6b58f;font-size:16px}.progress-domain-evidence span{display:block;margin-top:2px;color:#7d7a74;font-size:7px}.progress-domain-evidence small{display:block;margin-top:3px;color:#5e625e;font-size:6px}.progress-domain-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.progress-profile{width:min(1040px,100%);margin:auto;display:grid;gap:12px}.progress-profile-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px;border:1px solid rgba(190,148,78,.12);border-radius:15px;background:linear-gradient(145deg,rgba(27,24,20,.58),rgba(10,13,17,.6))}.progress-profile-emblem{width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(202,161,86,.2);border-radius:50%;background:radial-gradient(circle,rgba(150,106,39,.16),transparent 70%);color:#d2ad67;font-size:25px}.progress-profile-card h3{margin:4px 0;color:#e1cda7;font:500 25px Georgia,serif}.progress-profile-card p{margin:0;color:#8a857e;font-size:8px}.progress-profile-card small{display:block;margin-top:5px;color:#5e625e;font-size:6px}.progress-profile-card .progress-score-ring{width:82px;height:82px}.progress-profile-card .progress-score-ring strong{font-size:23px}.progress-profile form{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:16px;border:1px solid rgba(184,145,78,.1);border-radius:14px;background:rgba(255,255,255,.01)}.progress-profile label{display:grid;gap:5px;color:#77746f;font-size:8px;font-weight:800}.progress-profile label.wide,.progress-profile-actions.wide{grid-column:1/-1}.progress-profile input,.progress-profile select,.progress-profile textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid rgba(185,145,78,.13);border-radius:9px;outline:none;background:#0a0d12;color:#d2ccc0;font:inherit;font-size:9px;resize:vertical}.progress-profile input:focus,.progress-profile select:focus,.progress-profile textarea:focus{border-color:rgba(208,166,91,.34)}.progress-profile-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.progress-profile-summary article{padding:14px;border:1px solid rgba(184,145,78,.09);border-radius:11px;background:rgba(255,255,255,.01)}.progress-profile-summary strong{display:block;color:#d4bd91;font-size:19px}.progress-profile-summary span{display:block;margin-top:3px;color:#6c6d68;font-size:7px}
.progress-trends{width:min(1060px,100%);margin:auto;display:grid;gap:12px}.progress-trends>header h3{margin:4px 0 5px;color:#ddc9a5;font:500 25px Georgia,serif}.progress-trends>header p{margin:0;max-width:800px;color:#73746f;font-size:8px;line-height:1.5}.progress-trend-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.progress-trend-summary article{padding:14px;border:1px solid rgba(185,146,79,.1);border-radius:11px;background:rgba(255,255,255,.012)}.progress-trend-summary strong{display:block;color:#dac296;font-size:21px}.progress-trend-summary span{display:block;margin-top:2px;color:#7e7a74;font-size:7px;font-weight:800}.progress-trend-summary small{display:block;margin-top:4px;color:#5e625e;font-size:6px}.progress-trend-chart,.progress-activity-chart{padding:15px;border:1px solid rgba(184,145,77,.1);border-radius:13px;background:rgba(255,255,255,.01)}.progress-chart-score,.progress-activity-chart>div{height:190px;display:flex;align-items:end;gap:6px;padding-top:10px}.progress-chart-score>div,.progress-activity-chart>div>div{flex:1;min-width:18px;height:100%;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:5px}.progress-chart-score i,.progress-activity-chart i{width:min(28px,70%);min-height:3px;border-radius:4px 4px 1px 1px;background:linear-gradient(#c69b52,#6d5535)}.progress-chart-score small,.progress-activity-chart small{color:#5f625e;font-size:5px}.progress-activity-chart h4{margin:0;color:#9a958d;font:500 16px Georgia,serif}.progress-activity-chart>div{height:130px}.progress-activity-chart i{background:linear-gradient(#7f8f91,#3e555c)}.progress-activity-chart footer{margin-top:8px;color:#5f625e;font-size:6px}
@media (max-width:900px){.progress-center{padding:max(5px,env(safe-area-inset-top)) 5px max(5px,env(safe-area-inset-bottom))}.progress-shell{border-radius:17px}.progress-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 12px 9px}.progress-header p{display:none}.progress-header-stats{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,1fr);width:100%}.progress-header-stats span{min-width:0;padding:5px 3px}.progress-header-stats strong{font-size:12px}.progress-header-stats small{font-size:5px}.progress-close{width:38px;height:38px}.progress-tabs{padding-left:9px;padding-right:9px}.progress-content{padding:11px 8px 17px}.progress-footer{display:none}.progress-hero{grid-template-columns:1fr;text-align:left;padding:16px}.progress-hero .progress-score-ring{justify-self:center}.progress-hero-actions{display:grid}.progress-today-grid{grid-template-columns:repeat(2,1fr)}.progress-today-grid button:last-child{grid-column:1/-1}.progress-split{grid-template-columns:1fr}.progress-alerts>div{grid-template-columns:1fr}.progress-domains{grid-template-columns:1fr}.progress-domain-list{display:flex;overflow-x:auto}.progress-domain-list>.progress-kicker{display:none}.progress-domain-list button{flex:0 0 210px}.progress-domain-detail>header{grid-template-columns:1fr}.progress-domain-detail .progress-score-ring{justify-self:center}.progress-source-grid,.progress-domain-evidence{grid-template-columns:repeat(2,1fr)}.progress-domain-actions{display:grid}.progress-profile-card{grid-template-columns:auto minmax(0,1fr)}.progress-profile-card .progress-score-ring{grid-column:1/-1;justify-self:center}.progress-profile form{grid-template-columns:1fr}.progress-profile label,.progress-profile label.wide,.progress-profile-actions.wide{grid-column:1}.progress-profile-summary{grid-template-columns:repeat(2,1fr)}.progress-trend-summary{grid-template-columns:1fr}.progress-chart-score{height:150px;gap:3px}.progress-chart-score small,.progress-activity-chart small{font-size:4px}.progress-activity-chart>div{height:110px;gap:3px}}
@media (max-height:650px) and (min-width:901px){.progress-center{padding:7px}.progress-header{padding-top:9px;padding-bottom:7px}.progress-header p{display:none}.progress-content{padding-top:10px}.progress-hero{padding-top:14px;padding-bottom:14px}.progress-score-ring{width:90px;height:90px}.progress-score-ring strong{font-size:25px}}
.has-progress-center .foundation-badge{opacity:0}
@media (max-width:900px){.progress-header h2{font-size:20px;line-height:1.05}.progress-close{align-self:start}.progress-header{gap:6px 8px}}

/* V8 · Détecteur de Lacunes & Leaks */
.leak-detector{position:fixed;inset:0;z-index:92;padding:clamp(8px,1.2vw,18px);box-sizing:border-box;background:rgba(2,5,9,.76);backdrop-filter:blur(10px);opacity:0;transition:opacity .16s ease}.leak-detector.is-open{opacity:1}.leak-shell{width:min(1240px,100%);height:100%;margin:auto;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(190,148,78,.18);border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(57,45,29,.22),transparent 35%),linear-gradient(150deg,#101319 0%,#080b10 56%,#10100f 100%);box-shadow:0 28px 90px rgba(0,0,0,.55)}
.leak-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:17px 20px 13px;border-bottom:1px solid rgba(185,145,78,.1)}.leak-eyebrow,.leak-kicker{display:block;color:#a98449;font-size:7px;font-weight:900;letter-spacing:.18em}.leak-header h2{margin:4px 0 3px;color:#e2cda8;font:500 27px Georgia,serif}.leak-header p{margin:0;color:#767772;font-size:8px}.leak-header-stats{display:grid;grid-template-columns:repeat(4,auto);gap:7px}.leak-header-stats span{min-width:66px;padding:7px 8px;text-align:center;border:1px solid rgba(186,145,78,.1);border-radius:9px;background:rgba(255,255,255,.015)}.leak-header-stats strong{display:block;color:#d6bd90;font-size:15px}.leak-header-stats small{display:block;margin-top:1px;color:#666963;font-size:5px;font-weight:900;letter-spacing:.08em}.leak-close{width:42px;height:42px;border:1px solid rgba(198,156,83,.14);border-radius:50%;background:rgba(255,255,255,.02);color:#a9a198;font-size:24px;cursor:pointer}.leak-close:hover{border-color:rgba(214,171,94,.35);color:#ead8b8}
.leak-tabs{display:flex;gap:5px;overflow-x:auto;padding:8px 15px;border-bottom:1px solid rgba(185,145,78,.08)}.leak-tabs button,.leak-filters button{border:1px solid transparent;border-radius:8px;background:transparent;color:#74766f;padding:8px 12px;font:inherit;font-size:7px;font-weight:800;white-space:nowrap;cursor:pointer}.leak-tabs button.is-active,.leak-tabs button:hover,.leak-filters button.is-active,.leak-filters button:hover{border-color:rgba(200,157,82,.14);background:rgba(181,137,70,.08);color:#d3b783}.leak-content{min-height:0;overflow:auto;padding:15px 16px 22px}.leak-footer{display:flex;align-items:center;gap:16px;padding:8px 16px;border-top:1px solid rgba(185,145,78,.08);color:#5d615c;font-size:6px}.leak-footer kbd{padding:2px 5px;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#929089;background:#0b0e12}.leak-footer strong{margin-left:auto;color:#6e685d;font-weight:600}.has-leak-detector .foundation-badge{opacity:0}
.leak-dashboard,.leak-signals,.leak-domains,.leak-method{width:min(1130px,100%);margin:auto}.leak-hero{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:18px;align-items:center;padding:21px;border:1px solid rgba(198,153,79,.13);border-radius:16px;background:linear-gradient(135deg,rgba(58,42,22,.22),rgba(10,13,18,.18))}.leak-hero h3,.leak-signals h3,.leak-domain-detail h3,.leak-method h3{margin:5px 0 7px;color:#e2cda8;font:500 28px Georgia,serif}.leak-hero p,.leak-signals header p,.leak-domain-detail header p,.leak-method header p{margin:0;max-width:760px;color:#80807a;font-size:8px;line-height:1.55}.leak-hero-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.leak-primary,.leak-secondary,.leak-card footer button{padding:9px 12px;border-radius:9px;font:inherit;font-size:7px;font-weight:900;cursor:pointer}.leak-primary,.leak-card footer button{border:1px solid rgba(216,174,98,.24);background:linear-gradient(#ad8040,#79572f);color:#100d09}.leak-secondary{border:1px solid rgba(195,153,84,.14);background:rgba(255,255,255,.02);color:#b5a990}.leak-radar{width:150px;height:150px;justify-self:end;display:grid;place-content:center;text-align:center;border:1px solid rgba(206,162,87,.18);border-radius:50%;background:radial-gradient(circle,rgba(158,111,42,.16),transparent 68%);box-shadow:inset 0 0 0 12px rgba(157,111,43,.025)}.leak-radar strong{display:block;color:#e2c28a;font:500 38px Georgia,serif}.leak-radar span{display:block;color:#8c806b;font-size:7px;font-weight:900}.leak-radar small{display:block;margin-top:5px;color:#5c615d;font-size:6px}.leak-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.leak-summary-grid article{padding:13px;border:1px solid rgba(190,148,78,.09);border-radius:11px;background:rgba(255,255,255,.012)}.leak-summary-grid strong{display:block;color:#d7bd8c;font-size:20px}.leak-summary-grid span{display:block;color:#79766f;font-size:7px;font-weight:900}.leak-summary-grid small{display:block;margin-top:3px;color:#565b57;font-size:6px}.leak-split{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr);gap:12px;margin-top:12px}.leak-split>div,.leak-split>aside{padding:14px;border:1px solid rgba(189,147,79,.09);border-radius:13px;background:rgba(255,255,255,.008)}.leak-split h4,.leak-domain-ranks~h4{margin:4px 0 9px;color:#afa187;font:500 18px Georgia,serif}
.leak-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.leak-card-grid-wide{grid-template-columns:repeat(3,minmax(0,1fr))}.leak-card{min-width:0;padding:12px;border:1px solid rgba(180,145,82,.1);border-left:3px solid rgba(136,132,119,.25);border-radius:11px;background:linear-gradient(150deg,rgba(29,25,20,.44),rgba(7,10,14,.42))}.leak-card.severity-critical{border-left-color:#b36b54}.leak-card.severity-important{border-left-color:#b08a50}.leak-card.severity-watch{border-left-color:#6f827f}.leak-card header,.leak-card footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.leak-type{display:inline-flex;align-items:center;gap:4px;padding:4px 6px;border-radius:6px;background:rgba(112,126,128,.08);color:#8d9694;font-size:5px;font-weight:900;letter-spacing:.08em}.leak-type.type-overconfidence,.leak-type.type-recurrence{background:rgba(150,91,67,.09);color:#b48a75}.leak-type.type-coverage{background:rgba(101,109,118,.08);color:#7f898d}.leak-severity{color:#716d65;font-size:6px;font-weight:900}.leak-card h4{margin:8px 0 5px;color:#d5c09a;font:500 16px Georgia,serif}.leak-card p{margin:0;color:#75756f;font-size:7px;line-height:1.45}.leak-card ul{margin:8px 0 0;padding-left:15px;color:#666a65;font-size:6px;line-height:1.55}.leak-bars{display:grid;gap:5px;margin-top:9px}.leak-bars>span{display:grid;grid-template-columns:54px minmax(0,1fr) 24px;gap:6px;align-items:center}.leak-bars small{color:#575c58;font-size:5px;font-weight:900}.leak-bars i{height:4px;overflow:hidden;border-radius:3px;background:#171b1d}.leak-bars u{display:block;height:100%;background:linear-gradient(90deg,#68543a,#b58848);text-decoration:none}.leak-bars b{color:#8e826d;font-size:6px;text-align:right}.leak-card footer{margin-top:10px}.leak-card footer small{color:#565b57;font-size:6px}.leak-card footer button{padding:7px 9px}.leak-empty{margin:10px 0;color:#656963;font-size:8px}.leak-domain-ranks{display:grid;gap:6px}.leak-domain-ranks button,.leak-domain-list button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;padding:9px;border:1px solid rgba(185,145,78,.08);border-radius:9px;background:rgba(255,255,255,.01);color:inherit;text-align:left;cursor:pointer}.leak-domain-ranks button:hover,.leak-domain-list button:hover,.leak-domain-list button.is-active{border-color:rgba(205,160,82,.2);background:rgba(161,119,58,.07)}.leak-domain-ranks span,.leak-domain-list span{color:#b28e55;font-size:17px}.leak-domain-ranks strong,.leak-domain-list strong{display:block;color:#a99b83;font-size:8px}.leak-domain-ranks small,.leak-domain-list small{display:block;margin-top:2px;color:#5f645f;font-size:6px}.leak-domain-ranks b,.leak-domain-list b{color:#bd9c67;font-size:12px}
.leak-signals>header{display:flex;justify-content:space-between;gap:15px;align-items:end;padding:4px 2px 12px}.leak-signals>header label{display:flex;align-items:center;gap:6px;color:#74766f;font-size:7px;white-space:nowrap}.leak-filters{display:flex;gap:5px;overflow-x:auto;margin-bottom:10px}.leak-filters button{border-color:rgba(255,255,255,.04);background:rgba(255,255,255,.01)}
.leak-domains{display:grid;grid-template-columns:275px minmax(0,1fr);gap:12px}.leak-domain-list{display:grid;align-content:start;gap:6px}.leak-domain-detail{padding:16px;border:1px solid rgba(190,148,78,.1);border-radius:14px;background:rgba(255,255,255,.01)}.leak-domain-detail>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;margin-bottom:12px}.leak-domain-score{width:90px;height:90px;display:grid;place-content:center;text-align:center;border:1px solid rgba(200,157,83,.16);border-radius:50%;background:radial-gradient(circle,rgba(167,119,45,.12),transparent 70%)}.leak-domain-score strong{color:#d1aa6c;font:500 27px Georgia,serif}.leak-domain-score span{color:#686963;font-size:6px}
.leak-method>header{padding:8px 2px 14px}.leak-method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.leak-method-grid article,.leak-type-guide article{padding:14px;border:1px solid rgba(186,145,78,.09);border-radius:11px;background:rgba(255,255,255,.01)}.leak-method-grid b{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(192,149,79,.14);border-radius:50%;color:#ad8b56}.leak-method-grid strong{display:block;margin-top:8px;color:#c5ad82;font-size:9px}.leak-method-grid p,.leak-type-guide p{margin:4px 0 0;color:#696c66;font-size:7px;line-height:1.45}.leak-type-guide{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.leak-type-guide article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}.leak-type-guide article>span{font-size:21px;color:#a98449}.leak-type-guide strong{color:#ad9e85;font-size:8px}.leak-method>footer{margin-top:10px;padding:12px;border:1px solid rgba(185,145,78,.08);border-radius:10px;color:#6b6d67;font-size:7px}.leak-method>footer strong{color:#b99865}
@media (max-width:900px){.leak-detector{padding:max(5px,env(safe-area-inset-top)) 5px max(5px,env(safe-area-inset-bottom))}.leak-shell{border-radius:17px}.leak-header{grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:12px 12px 9px}.leak-header h2{font-size:20px;line-height:1.05}.leak-header p{display:none}.leak-header-stats{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(4,1fr);width:100%}.leak-header-stats span{min-width:0;padding:5px 3px}.leak-header-stats strong{font-size:12px}.leak-header-stats small{font-size:5px}.leak-close{width:38px;height:38px;align-self:start}.leak-tabs{padding-left:9px;padding-right:9px}.leak-content{padding:10px 8px 17px}.leak-footer{display:none}.leak-hero{grid-template-columns:1fr;padding:15px}.leak-hero h3,.leak-signals h3,.leak-domain-detail h3,.leak-method h3{font-size:22px}.leak-radar{justify-self:center;width:125px;height:125px}.leak-radar strong{font-size:31px}.leak-summary-grid{grid-template-columns:repeat(2,1fr)}.leak-split{grid-template-columns:1fr}.leak-card-grid,.leak-card-grid-wide{grid-template-columns:1fr}.leak-signals>header{display:grid;align-items:start}.leak-domains{grid-template-columns:1fr}.leak-domain-list{display:flex;overflow-x:auto}.leak-domain-list button{flex:0 0 220px}.leak-domain-detail>header{grid-template-columns:1fr}.leak-domain-score{justify-self:center}.leak-method-grid,.leak-type-guide{grid-template-columns:1fr}.leak-hero-actions{display:grid}.leak-card footer{align-items:end}}
@media (max-height:650px) and (min-width:901px){.leak-detector{padding:7px}.leak-header{padding-top:9px;padding-bottom:7px}.leak-header p{display:none}.leak-content{padding-top:10px}.leak-radar{width:115px;height:115px}.leak-radar strong{font-size:30px}}
