:root{--bg: #0d0d0d;--surface: #171717;--surface-2: #1f1f1f;--line: #2b2b2b;--gold: #cdb873;--gold-deep: #1e1b12;--gold-line: #4a4126;--text: #f3f0e7;--soft: #d8d4c9;--muted: #a29e94;--good: #8fd3a4;--good-bg: #13241a;--warn: #f0c36a;--warn-bg: #2a2210;--red: #d9534a;--blue: #4a86e0;--display: "Barlow Condensed", "Arial Narrow", sans-serif;--body: "Barlow", "Segoe UI", Arial, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}a{color:var(--gold);text-decoration:none}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.app{min-height:100%;display:flex;flex-direction:column}.entete{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));background:var(--bg);border-bottom:1px solid var(--line)}.entete img{width:36px;height:36px;border-radius:50%;border:1px solid #3a3524}.marque{font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.08em;line-height:1}.marque span{color:var(--gold)}.marque small{display:block;font-family:var(--body);font-weight:500;font-size:11px;color:var(--muted);letter-spacing:.16em;margin-top:3px}.entete .compte{margin-left:auto;font-size:13px}.contenu{flex:1;width:100%;max-width:760px;margin:0 auto;padding:16px max(16px,env(safe-area-inset-right,0px)) 96px max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:16px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#111;border-top:1px solid var(--line);padding:6px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px))}.nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;color:var(--muted);font-size:11px;font-weight:600}.nav a.active{color:var(--gold)}.nav svg{width:22px;height:22px}@media(min-width:900px){.nav{position:sticky;top:57px;bottom:auto;max-width:760px;margin:0 auto;width:100%;border:1px solid var(--line);border-top:0;border-radius:0 0 14px 14px}.contenu{padding-bottom:32px}}.contenu p{margin:0}h1{margin:0;font-family:var(--display);font-weight:700;font-size:32px;text-transform:uppercase;line-height:1.05;text-wrap:balance}h2{margin:0;font-family:var(--display);font-weight:700;font-size:22px;line-height:1.1}.label{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.discret{color:var(--muted);font-size:13px}.carte{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:8px}.carte.or{border-color:var(--gold);background:var(--gold-deep)}.bandeau{border-radius:12px;padding:10px 12px;font-size:13.5px;line-height:1.4}.bandeau.info{background:var(--gold-deep);border:1px solid var(--gold-line)}.bandeau.alerte{background:var(--warn-bg);border:1px solid #5a4a1f;color:var(--warn)}.bandeau.ok{background:var(--good-bg);border:1px solid #5b9c70;color:var(--good)}.pastille{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--bg);background:var(--gold);padding:3px 10px;border-radius:999px}.bouton{min-height:48px;padding:0 18px;border-radius:12px;border:0;background:var(--gold);color:var(--bg);font-weight:700;letter-spacing:.04em;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:14px}.bouton.secondaire{background:var(--surface);color:var(--text);border:1px solid #3a3a3a}.bouton:disabled{opacity:.5;cursor:not-allowed}.choix{display:flex;gap:8px;flex-wrap:wrap}.choix button{flex:1;min-width:90px;min-height:44px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--soft);font-weight:600;cursor:pointer}.choix button[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--bg)}.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.champ{display:flex;flex-direction:column;gap:4px}.champ label{font-size:12.5px;color:var(--muted)}.champ input,.champ select{min-height:46px;border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:0 12px;font-size:16px}.liste{display:flex;flex-direction:column;gap:8px}.ligne{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.ligne .heure{width:64px;flex:none;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums}.ligne .corps{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.ligne .pts{font-family:var(--display);font-weight:700;font-size:20px;font-variant-numeric:tabular-nums}.point{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:6px}.point.rouge{background:var(--red)}.point.bleu{background:var(--blue)}.pastille.eteinte{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.entete-carte{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.etiquette{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--warn-bg);color:var(--warn);border:1px solid #5a4a1f}.etiquette.ok{background:var(--good-bg);color:var(--good);border-color:#5b9c70}.case{display:flex;align-items:flex-start;gap:12px;min-height:44px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:14px;line-height:1.4}.case input{width:22px;height:22px;flex:none;margin:0;accent-color:var(--gold)}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions .bouton{flex:1}.bouton.petit{min-height:44px;padding:0 12px;font-size:12px;flex:none}.bandeau ul{margin:6px 0;padding-left:20px}.ligne.mienne{border-color:var(--gold);background:var(--gold-deep)}.ligne select.deplacer{flex:none;max-width:46%;min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);padding:0 8px;font-size:14px}details.carte summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}details.carte[open] summary{margin-bottom:4px}.actions .champ{min-width:0}.defilement{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px 4px}.choix-vue button{min-width:0;font-size:13px}.arbre{display:block;font-family:var(--body);font-size:13px}.arbre text{fill:var(--text)}.arbre .arbre-tour{fill:var(--muted);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.arbre .arbre-ref{fill:var(--muted);font-size:10.5px}.arbre-combat rect{fill:var(--surface-2);stroke:var(--line);stroke-width:1}.arbre-combat.mien rect{fill:var(--gold-deep);stroke:var(--gold);stroke-width:1.5}.arbre-separation{stroke:var(--line)}.arbre-trait{fill:none;stroke:var(--gold-line);stroke-width:1.5}.arbre .coin-rouge{fill:var(--red)}.arbre .coin-bleu{fill:var(--blue)}
