:root{--papier: #F3F3EF;--carte: #FDFCF8;--encre: #1A2B3C;--encre-att: rgba(26, 43, 60, .62);--encre-faible: rgba(26, 43, 60, .38);--claret: #8C2F3F;--claret-att: rgba(140, 47, 63, .12);--trait: #C9C2AE;--trait-faible: #DEDACB;--coeur-carreau: #C0392B;--serif: "Piazzolla", Georgia, serif;--sans: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;--mono: "IBM Plex Mono", "Courier New", monospace;--rayon: 6px;--mouvement: .16s;--color-focus: #1C5FA8;--tap-target-min: 48px;--control-height-min: 56px;--reading-column-max: 760px;--space-4: 16px}@media(prefers-reduced-motion:reduce){:root{--mouvement: 0ms}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--papier);color:var(--encre);font-family:var(--sans);line-height:1.5}a{color:var(--claret)}a:focus-visible,input:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.reading-column{max-width:var(--reading-column-max);margin-inline:auto;padding-inline:var(--space-4)}.ledger-page{background:var(--papier);color:var(--encre);font-family:var(--sans);min-height:100vh}.ledger-page h1,.ledger-page h2,.ledger-page h3{font-family:var(--serif);font-weight:600;margin:0}.ledger-num{font-family:var(--mono);font-variant-numeric:tabular-nums}.ledger-oldstyle{font-variant-numeric:oldstyle-nums}.ledger-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:var(--rayon);border:1.5px solid var(--encre);background:var(--carte);color:var(--encre);font-family:var(--sans);font-size:15px;font-weight:500;cursor:pointer;transition:transform var(--mouvement) ease}.ledger-btn:active{transform:scale(.98)}.ledger-btn-primary{background:var(--claret);border-color:var(--claret);color:var(--carte)}.ledger-btn:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.ledger-btn:disabled{opacity:.5;cursor:not-allowed}.ledger-btn.selected{background:var(--claret-att);border-color:var(--claret);box-shadow:inset 0 0 0 1.5px var(--claret);font-weight:600}.ledger-card{position:relative;min-width:44px;height:60px;padding:0;margin:0;appearance:none;border-radius:7px;border:1.25px solid var(--encre);background:var(--carte);box-shadow:0 1px 1px #1a2b3c14,0 3px 7px #1a2b3c1a;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:600;font-size:15px;transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease}.ledger-card:disabled{cursor:not-allowed}.ledger-card:before{content:"";position:absolute;inset:2.5px;border-radius:4.5px;border:1px solid rgba(26,43,60,.07);pointer-events:none}.ledger-card.jouable{cursor:pointer}.ledger-card.jouable:hover,.ledger-card.jouable:focus-visible{transform:translateY(-3px);box-shadow:0 2px 3px #1a2b3c1a,0 10px 18px #1a2b3c2e}.ledger-card.jouable:active{transform:translateY(-1px) scale(.97);box-shadow:0 1px 2px #1a2b3c1a}.ledger-card.illegale{border-color:var(--trait);color:var(--encre-faible)!important;filter:grayscale(.8);opacity:.6;box-shadow:none}.ledger-tally{display:inline-flex;gap:6px;align-items:center}.ledger-tally-group{display:inline-flex;position:relative;gap:2px}.ledger-tally-stroke{width:2px;height:16px;background:var(--encre)}.ledger-tally-strike{position:absolute;left:-2px;top:7px;width:calc(100% + 4px);height:2px;background:var(--claret);transform:rotate(-20deg)}.ledger-ruler{display:flex;align-items:center;gap:10px}.ledger-ruler-track{flex:1;height:12px;border-radius:2px;background:var(--trait-faible);display:flex;overflow:hidden}.ledger-ruler-seg{flex:1;background:var(--trait-faible);border-right:1.5px solid var(--papier)}.ledger-ruler-seg:last-child{border-right:none}.ledger-ruler-seg.rempli{background:var(--claret)}.ledger-toast{display:inline-flex;align-items:center;gap:8px;background:var(--claret-att);border:1px solid var(--claret);border-radius:var(--rayon);padding:8px 14px;font-size:14px;color:var(--claret);font-weight:500}.ledger-toast.calme{background:transparent;border-color:var(--trait);color:var(--encre-att)}.ledger-bilan{display:grid;grid-template-columns:1fr 1px 1fr;gap:0 16px;border:1px solid var(--trait);border-radius:var(--rayon);background:var(--carte);padding:16px 0}.ledger-bilan-rule{background:var(--trait)}.ledger-bilan-col{padding:0 16px;display:flex;flex-direction:column;gap:10px}.ledger-bilan-head{font-family:var(--serif);font-weight:600;font-size:14px;margin-bottom:4px}.ledger-rule{height:1px;background:var(--trait);border:none;margin:0}.ledger-box{background:var(--carte);border:1px solid var(--trait);border-radius:10px;padding:18px;display:flex;flex-direction:column;gap:14px}.ledger-tag{align-self:flex-start;font-family:var(--mono);font-size:12px;color:var(--claret)}@media(prefers-reduced-motion:no-preference){@keyframes ledger-fan{0%,to{transform:translate(0) rotate(0) translateY(0);box-shadow:0 1px 2px #1a2b3c14}45%,60%{transform:translate(var(--fan-x, 0)) rotate(var(--fan-r, 0deg)) translateY(-3px);box-shadow:0 6px 14px #1a2b3c33}}.ledger-loader-card{animation:ledger-fan 1.8s cubic-bezier(.33,1.3,.64,1) infinite;box-shadow:0 2px 5px #1a2b3c24}@keyframes ledger-pop{0%{transform:scale(.82) translateY(3px);opacity:0}65%{transform:scale(1.05) translateY(0);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.ledger-toast.anim{animation:ledger-pop .42s cubic-bezier(.34,1.56,.64,1) both}@keyframes ledger-check-draw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.ledger-toast.anim .ledger-check-path,.ledger-toast.anim .ledger-mark-path{stroke-dasharray:24;stroke-dashoffset:24;animation:ledger-check-draw .36s .18s ease-out forwards}@keyframes ledger-sweep{0%,55%{transform:translate(0) rotate(var(--sweep-r0, 0deg));opacity:1}to{transform:translate(44px,26px) rotate(calc(var(--sweep-r0, 0deg) + 18deg));opacity:0}}.ledger-trick.anim .ledger-trick-card{animation:ledger-sweep 1.4s ease-in both}}.ledger-loader-card{transform:translate(var(--fan-x, 0)) rotate(var(--fan-r, 0deg))}.ledger-toast.anim,.ledger-check-path,.ledger-trick.anim .ledger-trick-card{opacity:1}
