:root{--bg: #0b1524;--panel: #111d30;--panel-2: #17263d;--line: #24364f;--text: #eaf0f8;--muted: #93a4bb;--accent: #ffd84a;--noirs: #20242e;--rouges: #e5322d;--display: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--body)}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{display:grid;grid-template-columns:250px minmax(0,1fr) 340px;grid-template-rows:60px minmax(0,1fr);grid-template-areas:"top top top" "list stage detail";height:100dvh}.topbar{grid-area:top;display:flex;align-items:center;gap:28px;padding:0 18px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;text-align:left;padding:4px 6px;margin-left:-6px;border-radius:10px}.brand:hover{background:var(--panel-2)}.brand strong{display:block;font-family:var(--display);font-size:22px;letter-spacing:.06em;line-height:1}.brand small{color:var(--muted);font-size:11.5px}.brand-ball{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),transparent 42%),conic-gradient(from 20deg,#ffd84a 0,#ffd84a 33%,#2a6fb8 0,#2a6fb8 50%,#ffd84a 0,#ffd84a 83%,#2a6fb8 0);box-shadow:inset -3px -4px 6px #00000059}.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{padding:8px 14px;border-radius:999px;white-space:nowrap;font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.03em;color:var(--muted)}.tab.is-active{background:var(--accent);color:#17202e}.tab:disabled{cursor:default;opacity:.75}.tab em{font:500 10px var(--body);font-style:normal;text-transform:uppercase;letter-spacing:.06em;margin-left:6px;padding:2px 6px;border-radius:999px;border:1px solid var(--line);vertical-align:2px}.planches{grid-area:list;background:var(--panel);border-right:1px solid var(--line);padding:16px 12px;overflow-y:auto}.pl-group{margin-bottom:18px}.pl-group h2{margin:0 0 8px 8px;font:600 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.pl-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;margin-bottom:4px;border-radius:10px;text-align:left;border:1px solid transparent;transition:background .15s,border-color .15s}.pl-item:hover{background:var(--panel-2)}.pl-item.is-active{background:var(--panel-2);border-color:var(--accent)}.pl-item svg{flex:none;border-radius:4px}.pl-item span{font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:.02em}.stage{grid-area:stage;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 30%,#16294a,#0b1524 70%)}#view{position:absolute;top:0;right:0;bottom:0;left:0}#view canvas{display:block;touch-action:none}.labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.stage-title{position:absolute;top:16px;left:20px;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.6)}.stage-title span{font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.stage-title h1{margin:2px 0 0;font-family:var(--display);font-weight:700;font-size:clamp(26px,3.4vw,44px);line-height:1;letter-spacing:.01em}.toolbar{position:absolute;left:50%;bottom:40px;transform:translate(-50%);display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 24px)}.seg,.tool{display:flex;background:#0d182ad1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:12px;padding:3px}.seg button,.tool{padding:8px 12px;border-radius:9px;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}.tool{padding:11px 14px}.seg button.is-active,.seg button[aria-pressed=true]{background:var(--panel-2);color:var(--text)}.seg:not(.toggles) button.is-active{background:var(--accent);color:#17202e}.tool[aria-pressed=true]{color:var(--text)}.hint{position:absolute;left:0;right:0;bottom:12px;margin:0;text-align:center;font-size:12px;color:var(--muted);pointer-events:none}.pl-label{pointer-events:auto;display:inline-flex;align-items:center;gap:0;height:24px;padding:0 8px;border-radius:999px;font-family:var(--display);font-weight:700;font-size:16px;line-height:1;border:2px solid rgba(255,255,255,.9);box-shadow:0 3px 10px #00000073;transition:opacity .2s,transform .2s}.pl-label.noirs{background:#20242e;color:#fff}.pl-label.rouges{background:#e5322d;color:#fff}.pl-label span{max-width:0;overflow:hidden;white-space:nowrap;font-size:15px;font-weight:600;transition:max-width .25s,margin .25s}.pl-label.is-on{border-color:var(--accent);z-index:5}.pl-label.is-on span,.pl-label:hover span{max-width:110px;margin-left:6px}.pl-label.is-dim{opacity:.5}.hide-labels .pl-label{display:none}.tr-label{padding:2px 8px;border-radius:6px;font:600 11.5px var(--body);color:#10192a;white-space:nowrap;box-shadow:0 2px 8px #0006;transition:opacity .2s}.tr-label.is-dim{opacity:.25}.sh-label{padding:2px 8px;border-radius:6px;background:#080e18c7;color:#dbe5f3;font:500 11px var(--body);white-space:nowrap;border:1px dashed rgba(255,255,255,.35)}.detail{grid-area:detail;background:var(--panel);border-left:1px solid var(--line);padding:16px;overflow-y:auto}.phase-switch{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:var(--bg);border-radius:14px}.phase-switch button{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 8px;border-radius:10px;font-family:var(--display);font-size:19px;font-weight:600;color:var(--muted)}.phase-switch button i{width:12px;height:12px;border-radius:50%;border:2px solid #fff}.phase-switch button[data-focus=noirs] i{background:var(--noirs)}.phase-switch button[data-focus=rouges] i{background:var(--rouges)}.phase-switch button.is-active{background:var(--panel-2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.steps{list-style:none;margin:0;padding:0;display:grid;gap:4px}.phase-switch+.steps{margin-top:12px}.step{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:9px 10px;border-radius:10px;border:1px solid transparent;font-family:var(--display);font-size:18px;font-weight:600;color:var(--muted)}.step i{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-style:normal;font-size:15px;background:var(--panel-2);color:var(--muted)}.step:hover{background:var(--panel-2)}.step.is-active{background:var(--panel-2);border-color:var(--accent);color:var(--text)}.step.is-active i{background:var(--accent);color:#17202e}.intro{margin:16px 2px 12px;font-size:14.5px;line-height:1.45;color:var(--text)}.a-valider{margin:0 0 12px;padding:9px 11px;border-radius:10px;background:#ffd84a1a;border:1px solid rgba(255,216,74,.35);font-size:12.5px;line-height:1.4;color:#f4e3a0}.notes{list-style:none;margin:0;padding:0;display:grid;gap:6px}.note{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:11px;border-radius:12px;background:var(--panel-2);border:1px solid transparent;font-size:14px;line-height:1.4;transition:border-color .15s,background .15s}.note:hover{border-color:var(--line)}.note.is-active{border-color:var(--accent);background:#1d3050}.note.is-forbid{background:#e5322d24;border-color:#e5322d8c;font-weight:600;color:#ffb3ae}.badges{display:flex;gap:3px;flex:none;padding-top:1px}.badge{display:grid;place-items:center;min-width:24px;height:24px;padding:0 5px;border-radius:999px;font:700 14px var(--display);font-style:normal;color:#fff;border:1.5px solid rgba(255,255,255,.85)}.badge.noirs{background:var(--noirs)}.badge.rouges{background:var(--rouges)}.detail h3{margin:20px 2px 8px;font:600 12px var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.legend{list-style:none;margin:0;padding:0;display:grid;gap:2px}.legend button{display:flex;align-items:center;gap:10px;width:100%;padding:7px 8px;border-radius:8px;font-size:13.5px;text-align:left}.legend button:hover{background:var(--panel-2)}.legend .sw{flex:none;width:26px;height:4px;border-radius:2px}.legend .sw.zone{height:12px;background:#0000008c;border:1px dashed rgba(255,255,255,.4)}.legend small{margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.memo{margin:20px 2px 0;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.5;color:var(--muted)}.memo b{color:var(--text);font-weight:600}.home{display:none;grid-column:1 / -1;grid-row:2 / -1;overflow-y:auto;padding:44px 20px 60px;background:radial-gradient(ellipse at 50% 0%,#16294a 0%,var(--bg) 65%)}#app.is-home .home{display:block}#app.is-home .planches,#app.is-home .stage,#app.is-home .detail{display:none}.home-inner{max-width:1040px;margin:0 auto}.home-kicker{font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.home h1{margin:6px 0 10px;font-family:var(--display);font-weight:700;font-size:clamp(38px,6vw,64px);line-height:.98}.home-intro{margin:0 0 30px;max-width:620px;color:var(--muted);font-size:16px;line-height:1.55}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px}.card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;border-radius:16px;background:var(--panel);border:1px solid var(--line);transition:border-color .15s,transform .15s,background .15s}.card:not(:disabled):hover{border-color:var(--accent);background:var(--panel-2);transform:translateY(-2px)}.card:disabled{cursor:default;opacity:.6}.card-art{display:flex;align-items:center;justify-content:center;gap:14px;height:132px;margin-bottom:8px;border-radius:11px;background:var(--bg);border:1px solid var(--line)}.card-art svg{width:52px;height:104px;border-radius:5px}.card-art .soon{font:600 12px var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.card strong{font-family:var(--display);font-size:27px;font-weight:700;letter-spacing:.01em;line-height:1.1}.card-text{font-size:14.5px;line-height:1.45;color:var(--muted)}.card-foot{display:flex;justify-content:space-between;margin-top:10px;font-size:13px;color:var(--muted)}.card-foot b{color:var(--accent);font-weight:600}@media (max-width: 980px){#app{grid-template-columns:minmax(0,1fr);grid-template-rows:52px minmax(280px,48dvh) auto minmax(0,1fr);grid-template-areas:"top" "stage" "list" "detail"}.topbar{gap:14px;padding:0 12px}.brand small{display:none}.brand strong{font-size:19px}.tab{font-size:15px;padding:6px 11px}.planches{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;overflow-y:hidden;border-right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:none}.planches::-webkit-scrollbar{display:none}.pl-group{display:flex;gap:6px;margin:0;align-items:center}.pl-group h2{margin:0 2px 0 6px;font-size:10px}.pl-item{width:auto;margin:0;padding:7px 12px 7px 8px;background:var(--panel-2);white-space:nowrap}.pl-item span{font-size:16px}.pl-item svg{width:16px;height:28px}.detail{border-left:0;padding:12px}.stage-title{top:10px;left:12px}.toolbar{bottom:10px;gap:6px}.seg button,.tool{padding:7px 9px;font-size:12px}.tool{padding:10px 11px}.hint,.toggles{display:none}}
