:root{font-family:var(--font-body);font-synthesis:none;color:var(--ivory);background:#0a1b3c;scrollbar-color:var(--gold) var(--night)}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;background:#0a1b3c}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:.25em}button{color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:var(--px) solid var(--ivory);outline-offset:var(--px)}[hidden]{display:none!important}input{accent-color:var(--gold);caret-color:var(--gold)}.skip{position:fixed;top:8px;left:8px;z-index:10;padding:12px;background:var(--ivory);color:var(--ink);transform:translateY(-180%)}.skip:focus{transform:none}
.country-background{position:fixed;inset:0;overflow:hidden;pointer-events:none}.country-background canvas{display:block}
.welcome-scene{position:relative;width:min(100%,1800px);margin:auto;height:100dvh;min-height:680px;padding:clamp(20px,3.4vw,52px) clamp(20px,4.5vw,72px) 24px;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:24px}
.title-stage{position:relative;display:flex;align-items:center;min-height:0;padding-bottom:40px}.title-content{width:min(470px,42%)}
.title-logo{margin:0;line-height:0;animation:logo-drop 900ms steps(9,end) both}.title-logo img{display:block;width:100%;height:auto;animation:logo-hover 2.4s steps(2,end) 900ms infinite alternate}.logo-fallback{display:block;line-height:.9}
.title-motto{margin:12px 0 28px;color:var(--parchment);font-size:20px;text-shadow:var(--px) var(--px) 0 var(--ink)}
.game-menu{display:grid;width:min(100%,400px);padding:calc(var(--px)*2) 0;background-color:var(--night)}
.menu-action{display:grid;grid-template-columns:calc(var(--px)*4) 1fr;align-items:center;gap:calc(var(--px)*5);min-height:56px;padding:8px calc(var(--px)*7);border:0;background:none;text-align:left;text-decoration:none;color:var(--ivory);font:400 34px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase}
.menu-action .px-cursor{color:var(--gold);visibility:hidden}.menu-action.is-active{background:var(--navy-2);color:var(--gold-hi)}.menu-action.is-active .px-cursor{visibility:visible}
.menu-action small{display:block;margin-top:2px;font:var(--font-small);letter-spacing:.03em;text-transform:none;color:var(--muted)}.menu-action:disabled{color:#6f80a3}.menu-action:disabled small{color:#8c9cbd}.menu-action:active:not(:disabled){background:var(--navy-3)}
.menu-hint{display:flex;align-items:center;gap:6px;margin:16px 0 0;font:var(--font-small);letter-spacing:.03em;color:var(--parchment);text-shadow:var(--px) var(--px) 0 var(--ink)}.menu-hint kbd{display:inline-block;min-width:24px;padding:3px 6px 4px;font:var(--font-small);text-align:center;text-shadow:none;color:var(--ink);background:var(--parchment);box-shadow:0 var(--px) 0 var(--gold-lo)}.menu-hint span{margin-right:12px}
.ambient-control{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;font:var(--font-small);letter-spacing:.03em;color:var(--parchment)}.ambient-control button{background:none;border:0;padding:10px 0;min-height:44px;color:var(--parchment);text-shadow:var(--px) var(--px) 0 var(--ink)}.live-label{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#050c18cc;text-shadow:var(--px) var(--px) 0 var(--ink)}.live-label::before{content:'';width:calc(var(--px)*2);height:calc(var(--px)*2);background:var(--green)}
.country-ledger{padding:16px 22px 18px;background-color:var(--night)}.ledger-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:16px}.ledger-heading h2{font:400 30px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--gold);margin:0}.ledger-heading p{margin:4px 0 0;font:var(--font-small);letter-spacing:.03em;color:var(--muted)}.ledger-heading a{font:var(--font-small);letter-spacing:.03em;color:var(--gold)}
.national-metrics{margin:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:22px}.national-metric dt{display:flex;align-items:end;min-height:2em;font:400 20px/1 var(--font-display);letter-spacing:.03em;color:var(--muted);margin-bottom:4px}.national-metric dd{margin:0;white-space:nowrap;font:400 clamp(28px,2.5vw,38px)/.95 var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:.02em}.national-metric dd span{font:400 20px/1 var(--font-display);color:var(--muted)}.national-metric dd.is-negative{color:var(--deficit)}.national-metric small{display:block;margin-top:4px;font:400 16px/1.1 var(--font-display);letter-spacing:.03em;color:var(--muted)}
.settings-panel{width:min(100%,400px);padding:14px 20px;background-color:var(--night)}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.settings-head h2{font:400 30px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:var(--gold);margin:0}.settings-head button,.backup-button{border:0;background:none;color:var(--gold);min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:.25em}.settings-panel label{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:46px;font:400 20px/1.1 var(--font-display);letter-spacing:.03em}.settings-panel input[type=checkbox]{width:22px;height:22px;flex:none}.settings-panel .volume-label{display:block;margin-top:8px}.volume-label span{display:flex;justify-content:space-between}.volume-label input{width:100%;min-height:40px}
.save-message{font-size:16px;line-height:1.4;color:var(--ivory);max-width:400px;text-shadow:var(--px) var(--px) 0 var(--ink)}.save-message:empty{display:none}.no-script{position:fixed;bottom:0;left:0;right:0;margin:0;padding:12px;background:var(--navy)}#reference-sources{font-size:15px;line-height:1.45;max-width:80ch}#reference-sources p{margin:0 0 12px}#reference-sources a{color:var(--gold);display:inline-block;margin:0 24px 12px 0}
@media(hover:hover) and (pointer:fine){.ambient-control button:hover,.settings-head button:hover,.ledger-heading a:hover{color:var(--ivory)}}
@keyframes logo-drop{from{transform:translateY(-140%)}70%{transform:translateY(6%)}85%{transform:translateY(-3%)}to{transform:translateY(0)}}@keyframes logo-hover{to{transform:translateY(calc(var(--px)*-1))}}
@media(max-width:1200px){.national-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 22px}.welcome-scene{padding:24px 32px 20px;gap:16px}.country-ledger{padding:12px 18px 14px}.ledger-heading{margin-bottom:10px}.title-motto{margin-bottom:18px}.menu-action{font-size:30px;min-height:50px}.title-content{width:min(420px,44%)}.national-metric dd{font-size:30px}}
@media(max-width:700px){.welcome-scene{height:auto;min-height:100dvh;padding:16px 16px 20px;gap:14px;grid-template-rows:auto auto}.title-stage{display:block;padding-bottom:48px}.title-content{width:100%;max-width:420px;margin:auto}.title-logo{width:min(78%,300px);margin:0 auto}.title-motto{text-align:center;font-size:15px;margin:8px 0 0;padding-bottom:min(62vw,270px)}.game-menu{width:100%}.menu-action{font-size:28px;min-height:50px}.menu-hint{display:none}.settings-panel{width:100%}.country-ledger{padding:12px 14px 14px}.ledger-heading{align-items:start;margin-bottom:12px;gap:12px}.ledger-heading h2{font-size:26px}.ledger-heading a{max-width:120px;text-align:right}.national-metrics{gap:14px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.national-metric dd{font-size:30px}.welcome-scene:has(.settings-panel:not([hidden])) .country-ledger{display:none}}
@media(max-height:760px) and (min-width:701px){.welcome-scene{min-height:600px;gap:14px}.title-motto{margin:8px 0 14px}.menu-action{min-height:46px;font-size:28px}.menu-hint{display:none}.national-metric small{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important}.is-paused *,.is-paused *::before,.is-paused *::after{animation-play-state:paused!important}
/* Registre sobre : pas de cadre ni de fond, les chiffres posés sur la mer, un filet doré au-dessus. */
.country-ledger{padding:14px 0 0;background:none;border:0;border-top:var(--px) solid var(--gold-lo);filter:none}
.ledger-heading h2{font-size:24px;color:var(--parchment)}
.country-ledger dd,.country-ledger dt,.country-ledger small,.ledger-heading{text-shadow:var(--px) var(--px) 0 var(--ink)}
@media(max-width:700px){.country-ledger{padding:12px 0 0}}
@media(max-width:700px){.country-ledger{position:relative;margin-inline:-16px;padding:12px 16px 0;background:#0a1b3c}}

.ledger-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 18px}

/* Écran titre sur téléphone : l’emblème est plus haut que l’ancien logo et la devise passe sur la carte : contour d’encre en pixels pour la lire. */
@media(max-width:700px){.title-motto{color:var(--ivory);text-shadow:2px 0 0 var(--ink),-2px 0 0 var(--ink),0 2px 0 var(--ink),0 -2px 0 var(--ink),2px 2px 0 var(--ink)}}
