:root{color-scheme:dark;--bg:#0b0c0e;--panel:#15171b;--raised:#1b1e23;--ink:#f2f1ec;--muted:#9c9ca3;--gold:#d3a44c;--line:#2a2e35;--field:#101215;--felt:#202d46;--good:#a4e1bb;--bad:#ffb0af;--shadow:#090c13;--card:#fffdf8;--cardink:#17283d;--selected:#403721;--red:#a61836;--blue:#164b86;--green:#176047}
:root[data-theme=light]{color-scheme:light;--bg:#f7f6ff;--panel:#ffffff;--raised:#f0effb;--ink:#101a43;--muted:#575f83;--gold:#6a49e6;--line:#dedcf0;--field:#ffffff;--felt:#e4ebf7;--good:#17613d;--bad:#a22231;--shadow:#dbe1eb;--selected:#fff1ca}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:1rem/1.6 ui-rounded,'Nunito','Avenir Next',system-ui,sans-serif}a{color:var(--gold)}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--line);background:var(--raised);color:var(--ink);border-radius:12px;padding:.7rem 1.05rem;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;min-height:46px;font-weight:650}button:hover,.button:hover{border-color:var(--gold)}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--gold);color:var(--bg);border-color:var(--gold)}:root[data-theme=light] button.primary{color:#fff}button.selected{border:2px solid var(--gold);background:var(--selected)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}input,select,textarea{display:block;width:100%;min-width:0;padding:.65rem;border:1px solid var(--line);border-radius:9px;background:var(--field);color:var(--ink)}input[type=checkbox],input[type=radio]{width:auto;display:inline;margin-right:.5rem}input[type=file]{font-size:.875rem}label{display:block;font-size:.9rem;margin:.7rem 0}fieldset{border:0;margin:1rem 0;padding:0}legend{font-weight:750;margin-bottom:.5rem}textarea{resize:vertical}h1{font-size:clamp(1.8rem,3.5vw,2.7rem);letter-spacing:-.045em;line-height:1.2;margin:0 0 .8rem}h2{font-size:1.35rem;line-height:1.3;margin:.1rem 0 1rem}h3{font-size:1.05rem}p{margin:.6rem 0 1rem}.muted,small{color:var(--muted)}small{font-size:.875rem}.eyebrow{color:var(--gold);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:750}.lead{font-size:1.075rem;color:var(--muted);max-width:68ch}header{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 3vw;border-bottom:1px solid var(--line);gap:1rem}.brand{color:var(--ink);font-size:2rem;font-weight:850;letter-spacing:-.09em;text-decoration:none}.brand span{font-size:.65rem;letter-spacing:.22em;color:var(--gold);display:block;line-height:1}.shell{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1440px;margin:auto}nav{padding:2rem 1rem}nav a{display:block;color:var(--muted);text-decoration:none;padding:.7rem .9rem;margin-bottom:.4rem;border-radius:10px;font-weight:650}nav a[aria-current=page]{color:var(--ink);background:var(--raised);border-left:3px solid var(--gold)}main{padding:2.2rem 3vw 4rem;min-width:0;min-height:70vh}main:focus{outline:0}.row{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem}.between{justify-content:space-between}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:1.4rem;margin:1rem 0;min-width:0}.grid>.panel{margin:0}.highlight{border-color:var(--gold)}.stat{font-size:2rem;font-weight:800;letter-spacing:-.04em}.badge{display:inline-block;padding:.15rem .55rem;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:.8rem}.good{color:var(--good)}.bad{color:var(--bad)}.feedback{border-left:3px solid var(--gold);padding:1rem 1.2rem;background:var(--raised);border-radius:0 12px 12px 0;margin:1rem 0}.answers{display:grid;gap:.7rem}.answers button,.answer{display:block;width:100%;text-align:left;padding:1rem 1.2rem}.answer:has(input:checked){border:2px solid var(--gold);background:var(--selected)}.answer{border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--raised);font-size:1rem}.progress{height:9px;width:100%;accent-color:var(--gold);margin-bottom:1.4rem}.lesson{border-bottom:1px solid var(--line);padding:1rem 0}.lesson:last-child{border:0}.lesson summary{font-weight:750;cursor:pointer;list-style-position:inside}.lesson .body{max-width:72ch;padding:.9rem .2rem}.cards{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem;margin:.7rem 0}.card{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:67px;padding:.25rem .5rem;border-radius:9px;background:var(--card);color:var(--cardink);font:800 1.25rem/1 system-ui,sans-serif;box-shadow:0 3px 0 var(--shadow);border:1px solid #c6cedd}.card[data-suit=h]{color:var(--red)}.card[data-suit=d]{color:var(--blue)}.card[data-suit=c]{color:var(--green)}.card.back{background:var(--raised);border:2px solid var(--line);color:var(--gold)}.table{background:var(--felt);border:9px solid var(--raised);outline:1px solid var(--line);border-radius:105px;padding:1.4rem 1rem;text-align:center;margin:1.5rem 0;box-shadow:0 8px 0 var(--shadow)}.seat{max-width:340px;margin:auto}.pot{margin:1.1rem auto;color:var(--gold);font-size:1.25rem;font-weight:800}.table .board{min-height:82px}.table .card{height:62px;min-width:42px}.table .hero .card{height:76px;min-width:54px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.7rem;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:650}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem;background:var(--field);padding:1rem;border-radius:9px}.empty{padding:1.4rem;color:var(--muted);border:1px dashed var(--line);border-radius:12px}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips label{margin:0;border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem}.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr);gap:1.2rem}footer{padding:1.5rem 3vw;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem;text-align:center}#notice:not(:empty){position:fixed;bottom:1rem;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);max-width:calc(100vw - 2rem);width:max-content;padding:.9rem 1.2rem;border-radius:12px;box-shadow:0 6px 30px #0004;z-index:5}.skip{position:absolute;left:1rem;top:-100px}.skip:focus{top:1rem;background:var(--panel);padding:.5rem;z-index:9}.history{max-height:240px;overflow:auto}.history li{padding:.3rem}.header-controls{display:flex;gap:.5rem;align-items:center}#header-controls select{width:auto}.nowrap{white-space:nowrap}#study-output:empty{display:none}@media(max-width:900px){.shell{grid-template-columns:1fr}nav{display:flex;overflow-x:auto;padding:.7rem 1rem;gap:.4rem;border-bottom:1px solid var(--line)}nav a{white-space:nowrap;margin:0}nav a[aria-current=page]{border-left:0;border-bottom:3px solid var(--gold)}main{padding:1.5rem 1rem 3rem}.split{grid-template-columns:1fr}}@media(max-width:600px){.grid,.grid.three{grid-template-columns:1fr}header{padding:1rem}.panel{padding:1rem}.table{border-width:6px;border-radius:65px;padding:1.2rem .35rem}.table .card{min-width:36px;height:55px;padding:.15rem}.cards{gap:.3rem}.header-controls button{padding:.6rem}.brand{font-size:1.6rem}.row>*{max-width:100%}h1{font-size:2rem}}

/* Jetons de l'Academie alignes sur ceux de l'application (fusion r4).
   Seuls le fond, les surfaces, le texte, les bordures et l'accent ont ete
   repris : les couleurs de la table de jeu (--felt, --card, --cardink et
   les enseignes) restent celles de l'Academie, elles servent la lisibilite
   des cartes et non l'habillage. */
