/* Cercle Secret v49 — observatoire nocturne / salle de cartographie secrète. */
#cercle-secret50-screen,
#cercle-secret50-screen * { box-sizing:border-box; }

:root {
  --cs50-ink:#eaf1eb;
  --cs50-soft:#b9c9c0;
  --cs50-dim:#8da39a;
  --cs50-night:#07151a;
  --cs50-slate:#0e252b;
  --cs50-deep:#123b35;
  --cs50-panel:rgba(14,35,40,.91);
  --cs50-panel-2:rgba(17,48,45,.78);
  --cs50-line:rgba(193,221,207,.18);
  --cs50-line-strong:rgba(193,221,207,.33);
  --cs50-lunar:#edf0d8;
  --cs50-copper:#d4a47d;
  --cs50-order:#9fd0ba;
  --cs50-chaos:#df9c83;
  --cs50-focus:#f1c789;
}

/* Le prochain JS active cette scène sans imposer de changement au document actuel. */
body.cercle-secret50-active { overflow:hidden; background:#07151a; }
body.cercle-secret50-active > header,
body.cercle-secret50-active > nav,
body.cercle-secret50-active .site-header,
body.cercle-secret50-active .app-header { display:none; }
body.cercle-secret50-active #cercle-secret50-screen { position:fixed; inset:0; z-index:100; overflow:auto; width:100%; max-width:none; padding:0; }

#cercle-secret50-screen {
  width:min(100%, 820px);
  margin:0 auto;
  padding:0 0 36px;
  border:0;
  color:var(--cs50-ink);
  background:transparent;
  box-shadow:none;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
#cercle-secret50-screen #cercle-secret50-root .cs50-shell {
  --a28-global-muted:var(--cs50-soft); --muted:var(--cs50-soft);
  --cs-bg:var(--cs50-night); --cs-panel:var(--cs50-panel); --cs-line:var(--cs50-line);
  --cs-muted:var(--cs50-dim); --cs-lime:var(--cs50-lunar); --cs-copper:var(--cs50-copper);
  --cs-order:var(--cs50-order); --cs-chaos:var(--cs50-chaos);
  position:relative; isolation:isolate; min-height:100vh; overflow:hidden; padding:clamp(20px,4vw,48px);
  border:1px solid rgba(198,224,210,.2); border-radius:0;
  color:var(--cs50-ink);
  background:
    radial-gradient(circle at 15% 8%,rgba(65,133,116,.2),transparent 28%),
    radial-gradient(circle at 82% 88%,rgba(178,123,78,.1),transparent 25%),
    linear-gradient(145deg,#102b31 0%,#081b22 47%,#071319 100%);
  box-shadow:0 28px 90px rgba(2,12,16,.36);
  animation:cs50-enter 420ms cubic-bezier(.22,.8,.24,1) both;
}
#cercle-secret50-screen #cercle-secret50-root .cs50-shell::before {
  content:""; position:absolute; inset:-15%; z-index:-2; pointer-events:none; opacity:.42;
  background:repeating-linear-gradient(28deg,transparent 0 46px,rgba(157,202,188,.035) 47px,transparent 48px),
    repeating-radial-gradient(ellipse at 65% 35%,transparent 0 47px,rgba(196,219,200,.045) 48px,transparent 49px 92px);
  transform:rotate(-7deg); animation:cs50-drift 24s linear infinite;
}
#cercle-secret50-screen #cercle-secret50-root .cs50-shell::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.18;
  background-image:radial-gradient(rgba(235,242,222,.5) .45px,transparent .7px); background-size:17px 17px;
  mask-image:linear-gradient(to bottom,black,transparent 82%);
}
#cercle-secret50-screen #cercle-secret50-root .cs50-shell > * { position:relative; z-index:1; }

#cercle-secret50-screen #cercle-secret50-root .cs50-topline { display:flex; align-items:center; gap:12px; min-height:40px; margin-bottom:clamp(24px,6vh,58px); }
#cercle-secret50-screen #cercle-secret50-root .cs50-back { min-height:40px; padding:8px 12px 8px 0; border:0; border-radius:0; color:var(--cs50-soft); background:transparent; box-shadow:none; font:750 12px/1.2 ui-sans-serif,system-ui,sans-serif; cursor:pointer; }
#cercle-secret50-screen #cercle-secret50-root .cs50-back:hover { color:var(--cs50-lunar); }
#cercle-secret50-screen #cercle-secret50-root .cs50-mark-small { display:grid; place-items:center; width:30px; height:30px; border:1px solid rgba(212,164,125,.55); border-radius:50%; color:var(--cs50-copper); background:rgba(212,164,125,.08); font-size:16px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-kicker { margin-left:auto; color:#a7bbb1; font-size:9px; font-weight:850; letter-spacing:.18em; text-transform:uppercase; }

#cercle-secret50-screen #cercle-secret50-root .cs50-portal { position:relative; display:flex; flex-direction:column; align-items:center; max-width:620px; margin:0 auto; padding:clamp(12px,4vh,44px) 0 22px; text-align:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-portal::before { content:""; position:absolute; z-index:-1; top:0; left:50%; width:min(92vw,610px); aspect-ratio:1; transform:translateX(-50%); border:1px solid rgba(166,213,193,.14); border-radius:50%; box-shadow:0 0 0 34px rgba(166,213,193,.035),0 0 0 82px rgba(166,213,193,.022),0 0 0 140px rgba(166,213,193,.014); }
#cercle-secret50-screen #cercle-secret50-root .cs50-sigil { position:relative; display:grid; place-items:center; width:142px; height:142px; margin:0 auto 28px; border:1px solid rgba(237,240,216,.5); border-radius:50%; color:var(--cs50-lunar); background:radial-gradient(circle,rgba(237,240,216,.13),rgba(237,240,216,.025) 57%,transparent 58%); box-shadow:0 0 0 11px rgba(237,240,216,.035),0 0 55px rgba(157,208,186,.15); animation:cs50-breathe 5s ease-in-out infinite; }
#cercle-secret50-screen #cercle-secret50-root .cs50-sigil::before,#cercle-secret50-screen #cercle-secret50-root .cs50-sigil::after { content:""; position:absolute; border:1px solid rgba(237,240,216,.28); border-radius:50%; }
#cercle-secret50-screen #cercle-secret50-root .cs50-sigil::before { inset:15px; transform:rotate(34deg) scaleX(.68); }
#cercle-secret50-screen #cercle-secret50-root .cs50-sigil::after { inset:25px; transform:rotate(-34deg) scaleX(.68); }
#cercle-secret50-screen #cercle-secret50-root .cs50-sigil span { font:58px/1 Georgia,"Times New Roman",serif; text-shadow:0 0 28px rgba(237,240,216,.52); }
#cercle-secret50-screen #cercle-secret50-root .cs50-sigil i { position:absolute; top:10px; right:24px; width:7px; height:7px; border-radius:50%; background:var(--cs50-copper); box-shadow:0 0 16px var(--cs50-copper); }
#cercle-secret50-screen #cercle-secret50-root .cs50-eyebrow { margin:0 0 10px; color:#abc3b7; font-size:10px; font-weight:850; letter-spacing:.2em; line-height:1.5; text-transform:uppercase; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell h1 { margin:0 0 15px; color:#f1f2e5; font-family:Georgia,"Times New Roman",serif; font-size:clamp(34px,8vw,60px); font-weight:500; letter-spacing:-.045em; line-height:1.04; }
#cercle-secret50-screen #cercle-secret50-root .cs50-lead { max-width:58ch; margin:0; color:#bdcec4; font-size:15px; line-height:1.75; }
#cercle-secret50-screen #cercle-secret50-root .cs50-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:23px 0 0; }
#cercle-secret50-screen #cercle-secret50-root .cs50-tags span { padding:7px 11px; border:1px solid rgba(194,224,208,.23); border-radius:99px; color:#d3dfd4; background:rgba(168,210,191,.055); font-size:10px; font-weight:750; }

#cercle-secret50-screen #cercle-secret50-root .cs50-actions { display:grid; grid-template-columns:1fr; gap:11px; width:100%; margin-top:24px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-portal .cs50-actions { max-width:400px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-button { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:13px 18px; border:1px solid rgba(237,240,216,.62); border-radius:11px; color:#0d2825; background:var(--cs50-lunar); box-shadow:0 10px 26px rgba(2,15,16,.22); font:850 14px/1.25 ui-sans-serif,system-ui,sans-serif; text-align:center; cursor:pointer; transition:transform 180ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease; }
#cercle-secret50-screen #cercle-secret50-root .cs50-button:hover { transform:translateY(-2px); box-shadow:0 13px 30px rgba(2,15,16,.34); }
#cercle-secret50-screen #cercle-secret50-root .cs50-button:active { transform:translateY(1px); }
#cercle-secret50-screen #cercle-secret50-root .cs50-button.secondary { border-color:var(--cs50-line-strong); color:var(--cs50-ink); background:rgba(222,237,226,.07); box-shadow:none; }
#cercle-secret50-screen #cercle-secret50-root .cs50-button.quiet { min-height:44px; border-color:transparent; color:#afc0b6; background:transparent; box-shadow:none; }
#cercle-secret50-screen #cercle-secret50-root .cs50-button.danger { border-color:#c97968; color:#fff3ed; background:#813f3b; }
#cercle-secret50-screen #cercle-secret50-root .cs50-button:disabled { opacity:.48; cursor:not-allowed; transform:none; }
#cercle-secret50-screen #cercle-secret50-root .cs50-button:focus-visible,#cercle-secret50-screen #cercle-secret50-root .cs50-back:focus-visible,#cercle-secret50-screen #cercle-secret50-root .cs50-player-tools button:focus-visible,#cercle-secret50-screen #cercle-secret50-root .cs50-remove:focus-visible { outline:3px solid var(--cs50-focus); outline-offset:3px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-footnote { margin:29px 0 0; color:#849c91; font-size:11px; }

/* Paliers optionnels : le JS peut les afficher pour matérialiser la progression. */
#cercle-secret50-screen #cercle-secret50-root .cs50-stage { position:relative; }
#cercle-secret50-screen #cercle-secret50-root .cs50-step-track { display:flex; align-items:center; gap:5px; width:min(100%,560px); margin:0 auto 24px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-step { flex:1; min-width:0; height:3px; border-radius:99px; background:rgba(190,222,205,.17); }
#cercle-secret50-screen #cercle-secret50-root .cs50-step.is-active,#cercle-secret50-screen #cercle-secret50-root .cs50-step[aria-current="step"] { background:var(--cs50-copper); box-shadow:0 0 12px rgba(212,164,125,.5); }
#cercle-secret50-screen #cercle-secret50-root .cs50-stage-lights { position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 0,rgba(177,220,197,.1),transparent 30%); }
#cercle-secret50-screen #cercle-secret50-root .cs50-ambience-toggle { min-height:36px; padding:7px 10px; border:1px solid var(--cs50-line); border-radius:9px; color:var(--cs50-soft); background:rgba(220,237,226,.04); font:750 11px/1.2 ui-sans-serif,system-ui,sans-serif; cursor:pointer; }

#cercle-secret50-screen #cercle-secret50-root .cs50-content { max-width:720px; margin:0 auto; }
#cercle-secret50-screen #cercle-secret50-root .cs50-panel { padding:clamp(20px,4vw,34px); border:1px solid var(--cs50-line); border-radius:18px; background:linear-gradient(145deg,rgba(16,49,48,.94),rgba(11,31,37,.95)); box-shadow:0 18px 44px rgba(2,13,17,.27); }
#cercle-secret50-screen #cercle-secret50-root .cs50-panel h1 { margin:2px 0 13px; font-size:clamp(30px,7vw,45px); }
#cercle-secret50-screen #cercle-secret50-root .cs50-panel h2 { margin:0 0 10px; color:#eaf0df; font-family:Georgia,"Times New Roman",serif; font-size:clamp(20px,5vw,28px); font-weight:500; line-height:1.2; }
#cercle-secret50-screen #cercle-secret50-root .cs50-panel p { color:#bbcec3; }
#cercle-secret50-screen #cercle-secret50-root .cs50-panel .cs50-actions { grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-top:23px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid article { min-width:0; padding:16px 14px; border:1px solid var(--cs50-line); border-radius:12px; background:rgba(220,237,226,.045); }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid article p { margin:0; font-size:13px; line-height:1.6; }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-number { display:inline-grid; place-items:center; width:29px; height:29px; margin-bottom:14px; border:1px solid rgba(212,164,125,.5); border-radius:50%; color:var(--cs50-copper); font-size:11px; font-weight:850; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio { margin-top:24px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:12px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid > div,#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid > label { display:grid; gap:5px; min-width:0; padding:11px; border:1px solid var(--cs50-line); border-radius:10px; background:rgba(220,237,226,.045); }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid b { color:#f2f3e6; font-size:13px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid span { overflow-wrap:anywhere; color:#aebfb5; font-size:10px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid > div span { color:#d4e4d7; font-size:11px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-note,#cercle-secret50-screen #cercle-secret50-root .cs50-private-note { display:flex; align-items:flex-start; gap:11px; margin-top:19px; padding:14px; border-left:3px solid var(--cs50-copper); border-radius:7px; background:rgba(212,164,125,.08); }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-note { flex-direction:column; gap:4px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-note b { color:#f0e1c3; font-size:13px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-rule-note span,#cercle-secret50-screen #cercle-secret50-root .cs50-private-note p { color:#c2d1c5; font-size:12px; line-height:1.58; }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-note { align-items:center; border-left-color:var(--cs50-lunar); background:rgba(237,240,216,.065); }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-note > span { color:var(--cs50-lunar); font-size:19px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-note p { margin:0; }

#cercle-secret50-screen #cercle-secret50-root .cs50-player-list { display:grid; gap:8px; margin-top:21px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-player-row { display:grid; grid-template-columns:34px minmax(0,1fr) 38px; align-items:center; gap:10px; min-width:0; padding:10px 11px; border:1px solid var(--cs50-line); border-radius:11px; background:rgba(220,237,226,.045); }
#cercle-secret50-screen #cercle-secret50-root .cs50-player-index { color:#c3d4b4; font-size:11px; font-weight:850; }
#cercle-secret50-screen #cercle-secret50-root .cs50-player-row label,#cercle-secret50-screen #cercle-secret50-root .cs50-field { display:grid; gap:6px; min-width:0; color:#c5d3ca; font-size:11px; font-weight:750; }
#cercle-secret50-screen #cercle-secret50-root .cs50-player-row input,#cercle-secret50-screen #cercle-secret50-root .cs50-field input,#cercle-secret50-screen #cercle-secret50-root .cs50-field select,#cercle-secret50-screen #cercle-secret50-root .cs50-operation-editor textarea { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid rgba(204,226,211,.24); border-radius:9px; color:var(--cs50-ink); background:#071b20; font:600 14px/1.3 ui-sans-serif,system-ui,sans-serif; }
#cercle-secret50-screen #cercle-secret50-root .cs50-player-row input::placeholder { color:#789087; }
#cercle-secret50-screen #cercle-secret50-root .cs50-remove { width:34px; height:34px; border:1px solid rgba(223,156,131,.35); border-radius:9px; color:var(--cs50-chaos); background:rgba(223,156,131,.08); font-size:20px; cursor:pointer; }
#cercle-secret50-screen #cercle-secret50-root .cs50-player-tools { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:12px; color:#aec1b6; font-size:12px; font-weight:750; }
#cercle-secret50-screen #cercle-secret50-root .cs50-player-tools button { min-height:40px; padding:8px 11px; border:1px solid var(--cs50-line); border-radius:9px; color:var(--cs50-lunar); background:rgba(237,240,216,.06); font:750 12px/1.2 ui-sans-serif,system-ui,sans-serif; cursor:pointer; }
#cercle-secret50-screen #cercle-secret50-root .cs50-help,#cercle-secret50-screen #cercle-secret50-root .cs50-settings-hint { color:#9eb4a9!important; font-size:12px; line-height:1.58; }
#cercle-secret50-screen #cercle-secret50-root .cs50-error { margin:12px 0 0; padding:10px 12px; border:1px solid rgba(223,156,131,.4); border-radius:9px; color:#ffd7cd!important; background:rgba(129,63,59,.22); font-size:12px; line-height:1.5; }
#cercle-secret50-screen #cercle-secret50-root .cs50-error.success { border-color:rgba(159,208,186,.4); color:#d0f0df!important; background:rgba(30,106,79,.2); }
#cercle-secret50-screen #cercle-secret50-root .cs50-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:21px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-field input:focus-visible,#cercle-secret50-screen #cercle-secret50-root .cs50-field select:focus-visible,#cercle-secret50-screen #cercle-secret50-root .cs50-player-row input:focus-visible,#cercle-secret50-screen #cercle-secret50-root .cs50-operation-editor textarea:focus-visible,#cercle-secret50-screen #cercle-secret50-root .cs50-select-list input:focus-visible { outline:2px solid var(--cs50-lunar); outline-offset:2px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-field input[type=color] { width:100%; min-height:42px; padding:4px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-wide { grid-column:1/-1; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit,#cercle-secret50-screen #cercle-secret50-root .cs50-alternatives,#cercle-secret50-screen #cercle-secret50-root .cs50-operation-editor,#cercle-secret50-screen #cercle-secret50-root .cs50-settings-tools { margin-top:24px; padding-top:18px; border-top:1px solid var(--cs50-line); }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit > p,#cercle-secret50-screen #cercle-secret50-root .cs50-operation-editor > p { margin:0; font-size:12px; line-height:1.55; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit .cs50-ratio-grid > label { grid-template-columns:1fr 1fr; align-items:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit .cs50-ratio-grid input { min-width:0; width:100%; min-height:38px; border:1px solid rgba(204,226,211,.24); border-radius:8px; color:var(--cs50-ink); background:#071b20; }
#cercle-secret50-screen #cercle-secret50-root .cs50-check { display:flex; align-items:flex-start; gap:10px; margin-top:11px; padding:11px; border:1px solid var(--cs50-line); border-radius:10px; background:rgba(220,237,226,.035); cursor:pointer; }
#cercle-secret50-screen #cercle-secret50-root .cs50-check input { width:19px; height:19px; margin:1px 0 0; accent-color:#c7d995; flex:0 0 19px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-check span { display:grid; gap:3px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-check b { color:#dce8dc; font-size:12px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-check small { color:#9eb4a9; font-size:11px; line-height:1.45; }
#cercle-secret50-screen #cercle-secret50-root .cs50-operation-editor textarea { min-height:270px; margin-top:10px; resize:vertical; font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; }
#cercle-secret50-screen #cercle-secret50-root .cs50-actions-inline { display:flex!important; flex-wrap:wrap; }
#cercle-secret50-screen #cercle-secret50-root .cs50-actions-inline .cs50-button { flex:1 1 180px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-settings-tools { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-settings-tools .cs50-check { margin:0; }

#cercle-secret50-screen #cercle-secret50-root .cs50-pass { display:flex; min-height:min(70vh,640px); flex-direction:column; align-items:center; justify-content:center; padding:32px 14px; text-align:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-phase { display:inline-flex; align-items:center; min-height:28px; padding:6px 10px; border:1px solid rgba(212,164,125,.35); border-radius:99px; color:#dec7ae; background:rgba(212,164,125,.08); font-size:9px; font-weight:850; letter-spacing:.14em; }
#cercle-secret50-screen #cercle-secret50-root .cs50-pass-orbit { display:grid; place-items:center; width:76px; height:76px; margin:27px 0 13px; border:1px solid rgba(237,240,216,.4); border-radius:50%; color:var(--cs50-lunar); box-shadow:0 0 0 10px rgba(237,240,216,.035); font-size:32px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-pass > p:not(.cs50-help) { margin:16px 0 0; color:#bed0c4; font-size:14px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-pass h1 { margin:7px 0 8px; font-size:clamp(36px,9vw,54px); overflow-wrap:anywhere; }
#cercle-secret50-screen #cercle-secret50-root .cs50-pass .cs50-help { max-width:36ch; }
#cercle-secret50-screen #cercle-secret50-root .cs50-pass .cs50-actions { max-width:360px; }

#cercle-secret50-screen #cercle-secret50-root .cs50-private-card { position:relative; overflow:hidden; text-align:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-card::before { content:""; position:absolute; top:-130px; right:-130px; width:280px; height:280px; border:1px solid rgba(237,240,216,.16); border-radius:50%; box-shadow:0 0 0 21px rgba(237,240,216,.025),0 0 0 52px rgba(237,240,216,.018); pointer-events:none; }
#cercle-secret50-screen #cercle-secret50-root .cs50-card-sigil { display:grid; place-items:center; width:74px; height:74px; margin:25px auto 16px; border:1px solid color-mix(in srgb,var(--cs-order) 54%,transparent); border-radius:50%; color:var(--cs-order); background:color-mix(in srgb,var(--cs-order) 10%,transparent); font:35px/1 Georgia,serif; }
#cercle-secret50-screen #cercle-secret50-root .cs50-card-sigil.chaos,#cercle-secret50-screen #cercle-secret50-root .cs50-private-card.chaos .cs50-card-sigil { border-color:color-mix(in srgb,var(--cs-chaos) 58%,transparent); color:var(--cs-chaos); background:color-mix(in srgb,var(--cs-chaos) 10%,transparent); }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-card h1,#cercle-secret50-screen #cercle-secret50-root .cs50-reveal h1 { font-size:clamp(30px,7vw,43px); }
#cercle-secret50-screen #cercle-secret50-root .cs50-role { margin:0; color:#f0f3e7!important; font-family:Georgia,"Times New Roman",serif; font-size:24px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-faction-pill { display:inline-flex; align-items:center; min-height:34px; margin-top:15px; padding:7px 13px; border:1px solid color-mix(in srgb,var(--cs-order) 48%,transparent); border-radius:99px; color:var(--cs-order); background:color-mix(in srgb,var(--cs-order) 9%,transparent); font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-card.chaos .cs50-faction-pill { border-color:color-mix(in srgb,var(--cs-chaos) 48%,transparent); color:var(--cs-chaos); background:color-mix(in srgb,var(--cs-chaos) 9%,transparent); }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-card > p:not(.cs50-eyebrow):not(.cs50-role):not(.cs50-help) { color:#c7d5ca; font-size:14px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-allies { display:flex; flex-wrap:wrap; justify-content:center; gap:7px; margin:11px 0; padding:0; list-style:none; }
#cercle-secret50-screen #cercle-secret50-root .cs50-allies li { padding:7px 10px; border:1px solid rgba(223,156,131,.3); border-radius:99px; color:#efc1b2; background:rgba(223,156,131,.08); font-size:12px; font-weight:750; }
#cercle-secret50-screen #cercle-secret50-root .cs50-private-card .cs50-actions { max-width:400px; margin-right:auto; margin-left:auto; }
#cercle-secret50-screen #cercle-secret50-root .cs50-operation-card { text-align:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-operation-emblem { display:grid; place-items:center; width:60px; height:60px; margin:22px auto 14px; border:1px solid rgba(212,164,125,.42); border-radius:15px; transform:rotate(45deg); color:var(--cs50-copper); background:rgba(212,164,125,.07); font-size:23px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-operation-emblem::first-letter { transform:rotate(-45deg); }
#cercle-secret50-screen #cercle-secret50-root .cs50-operation-card h1 { font-size:clamp(29px,7vw,42px); }
#cercle-secret50-screen #cercle-secret50-root .cs50-operation-public { max-width:50ch; margin:22px auto 0; padding:14px 15px; border-left:2px solid var(--cs50-copper); border-radius:6px; color:#d8e4d9; background:rgba(212,164,125,.07); font-size:13px; line-height:1.65; text-align:left; }
#cercle-secret50-screen #cercle-secret50-root .cs50-public-notice { margin:13px 0 0!important; padding:11px 13px; border:1px solid rgba(159,208,186,.32); border-radius:9px; color:#d5eee0!important; background:rgba(30,106,79,.17); font-size:12px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-secret-text { max-width:50ch; margin:10px auto 0; color:#e9f0e4!important; font-family:Georgia,"Times New Roman",serif; font-size:clamp(19px,5vw,25px); line-height:1.55; }
#cercle-secret50-screen #cercle-secret50-root .cs50-discussion { text-align:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-discussion h1 { font-size:clamp(32px,8vw,47px); }
#cercle-secret50-screen #cercle-secret50-root .cs50-timer-wrap { display:grid; gap:3px; width:min(100%,260px); margin:23px auto; padding:16px; border:1px solid rgba(237,240,216,.22); border-radius:15px; background:radial-gradient(circle at 50% 0,rgba(237,240,216,.12),rgba(237,240,216,.025)); }
#cercle-secret50-screen #cercle-secret50-root .cs50-timer-wrap span { color:#c4d2bf; font-size:9px; font-weight:850; letter-spacing:.16em; }
#cercle-secret50-screen #cercle-secret50-root .cs50-timer-wrap strong { color:#f2f3e6; font:54px/1.05 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:-.05em; }
#cercle-secret50-screen #cercle-secret50-root .cs50-timer-wrap small { color:#9eb3a5; font-size:10px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-live-notices { display:grid; gap:7px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-live-notices p { margin:0; padding:10px; border-radius:8px; color:#d5eee0; background:rgba(30,106,79,.17); font-size:12px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-accusation-callout { margin-top:20px; padding:14px; border:1px solid rgba(212,164,125,.28); border-radius:12px; background:rgba(212,164,125,.06); text-align:left; }
#cercle-secret50-screen #cercle-secret50-root .cs50-accusation-callout b { color:#f1c789; font-size:12px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-accusation-callout p { margin:4px 0 0; font-size:12px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-accusation-callout .cs50-button { width:100%; margin-top:10px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-select-list,#cercle-secret50-screen #cercle-secret50-root .cs50-vote-list { display:grid; gap:8px; margin-top:20px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-select-list label { display:flex; align-items:center; gap:11px; min-height:50px; padding:10px 13px; border:1px solid var(--cs50-line); border-radius:10px; color:#e5ece3; background:rgba(220,237,226,.045); font-weight:750; cursor:pointer; }
#cercle-secret50-screen #cercle-secret50-root .cs50-select-list input { width:20px; height:20px; margin:0; accent-color:#c7d995; }
#cercle-secret50-screen #cercle-secret50-root .cs50-vote-list { grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); }
#cercle-secret50-screen #cercle-secret50-root .cs50-vote-list .cs50-button { min-height:58px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-result { text-align:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-result-sigil { display:grid; place-items:center; width:92px; height:92px; margin:12px auto 21px; border:1px solid color-mix(in srgb,var(--cs-order) 50%,transparent); border-radius:50%; color:var(--cs-order); background:color-mix(in srgb,var(--cs-order) 9%,transparent); font:45px/1 Georgia,serif; }
#cercle-secret50-screen #cercle-secret50-root .cs50-result-sigil.chaos { border-color:color-mix(in srgb,var(--cs-chaos) 50%,transparent); color:var(--cs-chaos); background:color-mix(in srgb,var(--cs-chaos) 9%,transparent); }
#cercle-secret50-screen #cercle-secret50-root .cs50-result h1 { font-size:clamp(32px,8vw,48px); }
#cercle-secret50-screen #cercle-secret50-root .cs50-designated { display:grid; gap:5px; margin:20px 0; padding:14px; border:1px solid var(--cs50-line); border-radius:12px; background:rgba(220,237,226,.045); }
#cercle-secret50-screen #cercle-secret50-root .cs50-designated span { color:#9eb4a9; font-size:9px; font-weight:850; letter-spacing:.14em; }
#cercle-secret50-screen #cercle-secret50-root .cs50-designated b { color:#f2f3e6; font-size:18px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-tally { margin-top:14px; border-top:1px solid var(--cs50-line); text-align:left; }
#cercle-secret50-screen #cercle-secret50-root .cs50-tally summary { padding:14px 0; color:var(--cs50-lunar); font-size:12px; font-weight:800; cursor:pointer; }
#cercle-secret50-screen #cercle-secret50-root .cs50-tally > div { display:grid; gap:6px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-result-row { display:flex; justify-content:space-between; gap:12px; padding:8px 11px; border-radius:8px; color:#dfe8de; background:rgba(220,237,226,.045); font-size:12px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-result-row b { color:var(--cs50-lunar); }
#cercle-secret50-screen #cercle-secret50-root .cs50-tally > p { margin:8px 0 0; font-size:10px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-reveal { text-align:center; }
#cercle-secret50-screen #cercle-secret50-root .cs50-reveal .cs50-card-sigil { width:94px; height:94px; font-size:45px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-roster { display:grid; gap:7px; margin-top:20px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-final-player { display:grid; gap:4px; padding:12px 13px; border:1px solid var(--cs50-line); border-radius:9px; background:rgba(220,237,226,.045); text-align:left; }
#cercle-secret50-screen #cercle-secret50-root .cs50-final-player span { color:#eef2ed; font-size:14px; font-weight:800; }
#cercle-secret50-screen #cercle-secret50-root .cs50-final-player b { color:var(--cs-order); font-size:11px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-final-player.chaos b { color:var(--cs-chaos); }

/* Carte du mode d’accueil : conservée, mais raccordée à la palette cuivre. */
#home #mode-cercle-secret50 { --mode-accent48:#916239; border-color:rgba(145,98,57,.42); background:linear-gradient(125deg,var(--paper),color-mix(in srgb,var(--paper) 90%,#d6b58e)); }
#home #mode-cercle-secret50 .mode-logo48 { color:#a56f41; background:rgba(145,98,57,.11); }
#home #mode-cercle-secret50 .mode-status48 { color:#80552e; border-color:rgba(145,98,57,.28); background:rgba(145,98,57,.08); }
html[data-appearance="dark"] #home #mode-cercle-secret50 .mode-status48 { color:#e0b68e; }

@keyframes cs50-breathe { 0%,100% { box-shadow:0 0 0 10px rgba(237,240,216,.035),0 0 50px rgba(157,208,186,.12); } 50% { box-shadow:0 0 0 14px rgba(237,240,216,.045),0 0 62px rgba(157,208,186,.18); } }
@keyframes cs50-drift { from { transform:rotate(-7deg) translate3d(0,0,0); } to { transform:rotate(-7deg) translate3d(18px,12px,0); } }
@keyframes cs50-enter { from { opacity:0; transform:translateY(12px) scale(.99); } to { opacity:1; transform:none; } }

@media (max-width:600px) {
  #cercle-secret50-screen { padding-bottom:24px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell { min-height:100svh; padding:16px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-topline { margin-bottom:22px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-kicker { font-size:8px; letter-spacing:.1em; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-portal { padding-top:clamp(10px,4vh,30px); }
  #cercle-secret50-screen #cercle-secret50-root .cs50-sigil { width:116px; height:116px; margin-bottom:21px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-sigil span { font-size:49px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid { grid-template-columns:1fr; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-rule-grid article { padding:14px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-rule-number { margin-bottom:8px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #cercle-secret50-screen #cercle-secret50-root .cs50-ratio-grid > div:last-child { grid-column:1/-1; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-settings-grid { grid-template-columns:1fr; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-wide { grid-column:auto; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-settings-tools { grid-template-columns:1fr; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-panel .cs50-actions { grid-template-columns:1fr; }
}
@media (max-width:365px) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell { padding:12px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-topline { gap:6px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-back { font-size:11px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-kicker { font-size:7px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-player-row { grid-template-columns:26px minmax(0,1fr) 32px; gap:7px; padding:8px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit .cs50-ratio-grid { grid-template-columns:1fr 1fr; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit .cs50-ratio-grid > label { grid-column:1/-1; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-vote-list { grid-template-columns:1fr 1fr; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-vote-list .cs50-button { min-height:52px; padding:9px; font-size:12px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell h1 { font-size:clamp(30px,9vw,42px); }
  #cercle-secret50-screen #cercle-secret50-root .cs50-panel { padding:17px 13px; }
}
@media (max-width:350px) { #home .special-mode-card48 .mode-status48 { flex-shrink:0; max-width:none; padding:3px 6px; font-size:8px; letter-spacing:.2px; line-height:1.2; white-space:nowrap; text-align:center; } }
@media (prefers-reduced-motion:reduce) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell,
  #cercle-secret50-screen #cercle-secret50-root .cs50-sigil { animation:none; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-button { transition:none; }
}


/* V50 : isolation plein écran, progression et réglages exhaustifs. */
body.cercle-secret50-active .app > header.topbar,
body.cercle-secret50-active .app .topbar { display:none!important; }
body.cercle-secret50-active #cercle-secret50-screen { width:100%; height:100dvh; max-width:none; padding:0; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell > .cs50-stage-lights { position:absolute; inset:0; z-index:0; }
#cercle-secret50-screen #cercle-secret50-root .cs50-stage { margin:0 0 clamp(20px,5vh,40px); }
#cercle-secret50-screen #cercle-secret50-root .cs50-stage-label { display:block; margin:7px 0 0; color:#a7bbb1; font-size:9px; font-weight:800; letter-spacing:.12em; text-align:right; text-transform:uppercase; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit .cs50-ratio-grid > label { display:grid; grid-template-columns:1fr; align-items:stretch; gap:8px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-select,
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit select { width:100%; min-width:0; min-height:42px; padding:8px 10px; border:1px solid rgba(204,226,211,.24); border-radius:8px; color:var(--cs50-ink); background:#071b20; font:600 12px/1.3 ui-sans-serif,system-ui,sans-serif; }
#cercle-secret50-screen #cercle-secret50-root .cs50-ratio-edit select:focus-visible { outline:2px solid var(--cs50-lunar); outline-offset:2px; }


/* V50 · Grammaire de scène originale : chaque phase a un rythme, jamais un écran secret de plus. */
#cercle-secret50-screen #cercle-secret50-root .cs50-topline { margin-bottom:10px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-step-track { margin-bottom:8px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-story-cue { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:10px; width:min(100%,620px); min-height:54px; margin:0 auto clamp(20px,4vh,32px); padding:9px 12px; border-left:2px solid var(--cs50-copper); border-radius:0 10px 10px 0; background:linear-gradient(90deg,rgba(212,164,125,.09),rgba(212,164,125,.018) 74%,transparent); animation:cs50-cue-in 460ms cubic-bezier(.2,.75,.25,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-story-mark { display:grid; place-items:center; width:27px; height:27px; border:1px solid rgba(212,164,125,.43); border-radius:50%; color:var(--cs50-copper); font-size:14px; }
#cercle-secret50-screen #cercle-secret50-root .cs50-story-copy { display:grid; gap:3px; min-width:0; }
#cercle-secret50-screen #cercle-secret50-root .cs50-story-copy b { color:#ead9c5; font-size:9px; font-weight:850; letter-spacing:.13em; line-height:1.3; text-transform:uppercase; }
#cercle-secret50-screen #cercle-secret50-root .cs50-story-copy small { color:#aebfb5; font-size:11px; line-height:1.42; }
#cercle-secret50-screen #cercle-secret50-root .cs50-step[aria-current="step"] { animation:cs50-step-light 520ms ease-out both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="landing"] .cs50-portal { animation:cs50-threshold 720ms cubic-bezier(.16,.76,.23,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="players"] .cs50-panel { animation:cs50-settle 460ms cubic-bezier(.2,.75,.25,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="roles-handoff"] .cs50-pass-orbit { animation:cs50-relay 760ms cubic-bezier(.2,.75,.25,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="roles-card"] .cs50-private-card { animation:cs50-seal 620ms cubic-bezier(.18,.8,.2,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="operation-brief"] .cs50-operation-emblem { animation:cs50-signal 680ms cubic-bezier(.16,.8,.2,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="operation-handoff"] .cs50-pass-orbit { animation:cs50-relay 640ms cubic-bezier(.2,.75,.25,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="operation-card"] .cs50-private-card { animation:cs50-seal 560ms cubic-bezier(.18,.8,.2,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="discussion"] .cs50-timer-wrap { animation:cs50-open-circle 660ms cubic-bezier(.2,.75,.25,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="accusation"] .cs50-select-list { animation:cs50-settle 420ms ease-out both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-handoff"] .cs50-pass-orbit { animation:cs50-ballot 650ms cubic-bezier(.2,.75,.25,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button { animation:cs50-choice-in 360ms cubic-bezier(.2,.75,.25,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button:nth-child(2) { animation-delay:25ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button:nth-child(3) { animation-delay:50ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button:nth-child(4) { animation-delay:75ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button:nth-child(5) { animation-delay:100ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button:nth-child(6) { animation-delay:125ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button:nth-child(7) { animation-delay:150ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button:nth-child(8) { animation-delay:175ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="vote-card"] .cs50-vote-list .cs50-button:nth-child(9) { animation-delay:200ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="result"] .cs50-result-sigil { animation:cs50-verdict 760ms cubic-bezier(.17,.8,.22,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="reveal"] .cs50-card-sigil { animation:cs50-unmask 620ms cubic-bezier(.17,.8,.22,1) both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player { animation:cs50-roster-in 340ms ease-out both; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player:nth-child(2) { animation-delay:35ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player:nth-child(3) { animation-delay:70ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player:nth-child(4) { animation-delay:105ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player:nth-child(5) { animation-delay:140ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player:nth-child(6) { animation-delay:175ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player:nth-child(7) { animation-delay:210ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player:nth-child(8) { animation-delay:245ms; }
#cercle-secret50-screen #cercle-secret50-root .cs50-shell[data-scene="finished"] .cs50-final-player:nth-child(9) { animation-delay:280ms; }
@keyframes cs50-cue-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@keyframes cs50-step-light { from { opacity:.35; transform:scaleX(.72); } to { opacity:1; transform:scaleX(1); } }
@keyframes cs50-threshold { from { opacity:0; transform:translateY(18px) scale(.975); } 70% { opacity:1; transform:translateY(-2px) scale(1.004); } to { opacity:1; transform:none; } }
@keyframes cs50-settle { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes cs50-relay { from { opacity:.25; transform:rotate(-36deg) scale(.78); box-shadow:0 0 0 3px rgba(237,240,216,.02); } 65% { opacity:1; transform:rotate(8deg) scale(1.04); } to { opacity:1; transform:rotate(0) scale(1); box-shadow:0 0 0 10px rgba(237,240,216,.035); } }
@keyframes cs50-seal { from { opacity:0; transform:translateY(12px) scale(.975); } 72% { opacity:1; transform:translateY(-2px) scale(1.005); } to { opacity:1; transform:none; } }
@keyframes cs50-signal { from { opacity:0; transform:rotate(12deg) scale(.62); box-shadow:0 0 0 0 rgba(212,164,125,0); } 62% { opacity:1; transform:rotate(48deg) scale(1.08); box-shadow:0 0 0 11px rgba(212,164,125,.06); } to { opacity:1; transform:rotate(45deg) scale(1); box-shadow:0 0 0 0 rgba(212,164,125,0); } }
@keyframes cs50-open-circle { from { opacity:0; transform:scale(.94); box-shadow:0 0 0 0 rgba(237,240,216,0); } to { opacity:1; transform:scale(1); box-shadow:0 0 28px rgba(159,208,186,.08); } }
@keyframes cs50-ballot { from { opacity:.25; transform:scale(1.22); } to { opacity:1; transform:scale(1); } }
@keyframes cs50-choice-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@keyframes cs50-verdict { from { opacity:0; transform:scale(.68); box-shadow:0 0 0 0 rgba(237,240,216,0); } 68% { opacity:1; transform:scale(1.06); box-shadow:0 0 0 14px rgba(237,240,216,.045); } to { opacity:1; transform:scale(1); box-shadow:0 0 0 0 rgba(237,240,216,0); } }
@keyframes cs50-unmask { from { opacity:0; transform:rotateY(68deg) scale(.82); } 68% { opacity:1; transform:rotateY(-5deg) scale(1.04); } to { opacity:1; transform:none; } }
@keyframes cs50-roster-in { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@media (max-width:600px) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-story-cue { margin-bottom:22px; padding:8px 10px; }
}
@media (max-height:700px) and (max-width:600px) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-story-cue { min-height:46px; margin-bottom:15px; }
  #cercle-secret50-screen #cercle-secret50-root .cs50-pass { min-height:54vh; }
}
@media (prefers-reduced-motion:reduce) {
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell,
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell::before,
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell *,
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell *::before,
  #cercle-secret50-screen #cercle-secret50-root .cs50-shell *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}


/* V50 · Palette propre aux trois modes spéciaux, statuts et ordre inchangés. */
html .app #home .special-mode-grid48 button#mode-undercover48.mode-card.special-mode-card48 { --mode-accent48:#b9d5dc; color:#f1f7f9; border-color:#67818a; background-color:#243c45; background-image:linear-gradient(135deg,rgba(255,255,255,.07),transparent 58%); box-shadow:0 4px 0 rgba(12,30,36,.26),0 12px 26px rgba(10,24,29,.12); }
#home #mode-undercover48 strong { color:#f1f7f9; }
#home #mode-undercover48 small { color:#cddce1; }
#home #mode-undercover48 .mode-logo48 { color:#b9d5dc; background:rgba(185,213,220,.13); }
#home #mode-undercover48 .mode-status48 { color:#f8e4b9; border-color:rgba(248,228,185,.4); background:#5a4c36; }
html .app #home .special-mode-grid48 button#mode-identities48.mode-card.special-mode-card48 { --mode-accent48:#d8c6ea; color:#f7f1fc; border-color:#816791; background-color:#443253; background-image:linear-gradient(135deg,rgba(255,255,255,.07),transparent 58%); box-shadow:0 4px 0 rgba(31,20,39,.28),0 12px 26px rgba(31,20,39,.14); }
#home #mode-identities48 strong { color:#f7f1fc; }
#home #mode-identities48 small { color:#ddd2e7; }
#home #mode-identities48 .mode-logo48 { color:#d8c6ea; background:rgba(216,198,234,.13); }
#home #mode-identities48 .mode-status48 { color:#f2e4ff; border-color:rgba(242,228,255,.4); background:#62516f; }
html .app #home .special-mode-grid48 button#mode-cercle-secret50.mode-card.special-mode-card48 { --mode-accent48:#e7c894; color:#f6f5e8; border-color:#66846d; background-color:#194836; background-image:linear-gradient(135deg,rgba(255,255,255,.07),transparent 58%); box-shadow:0 4px 0 rgba(10,34,24,.28),0 12px 26px rgba(10,34,24,.14); }
#home #mode-cercle-secret50 strong { color:#f6f5e8; }
#home #mode-cercle-secret50 small { color:#d3e1d4; }
#home #mode-cercle-secret50 .mode-logo48 { color:#e7c894; background:rgba(231,200,148,.13); }
#home #mode-cercle-secret50 .mode-status48 { color:#f4e6bc; border-color:rgba(244,230,188,.4); background:#596340; }
