:root{--fond:#0e1620;--panneau:#0d151ed6;--trait:#ffffff1f;--texte:#eef3f7;--discret:#9fb1c1;--accent:#ffcf4a;--erreur:#ff7676;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html,body,#racine{height:100%;margin:0}body{background:var(--fond);color:var(--texte);font-size:14px;overflow:hidden}button{font:inherit;color:var(--texte);border:1px solid var(--trait);cursor:pointer;background:#ffffff14;border-radius:8px;padding:6px 10px}button:hover{background:#ffffff26}button.actif{background:var(--accent);color:#1d1606;border-color:var(--accent)}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input{font:inherit;color:var(--texte);border:1px solid var(--trait);background:#0000004d;border-radius:8px;padding:8px 10px}.accueil{background:radial-gradient(circle at 50% 30%, #1d3a52, var(--fond));place-items:center;height:100%;padding:16px;display:grid}.carte{background:var(--panneau);border:1px solid var(--trait);border-radius:14px;flex-direction:column;gap:8px;width:min(360px,100%);padding:20px;display:flex}.carte h1{color:var(--accent);letter-spacing:.04em;margin:0 0 8px}.carte label{color:var(--discret);font-size:12px}.carte button[type=submit]{background:var(--accent);color:#1d1606;margin-top:8px;font-weight:600}button.lien{color:var(--discret);background:0 0;border:none;text-decoration:underline}.erreur{color:var(--erreur);margin:4px 0}.jeu,.scene{position:fixed;inset:0}.scene{touch-action:none}.scene canvas{display:block}.calque{pointer-events:none;position:absolute;inset:0;overflow:hidden}.etiquette{white-space:nowrap;background:#0a101899;border-radius:6px;padding:1px 6px;font-size:11.5px;position:absolute;top:0;left:0}.etiquette.moi{color:var(--accent)}.envol{text-shadow:0 1px 3px #000000b3;font-weight:600;animation:1s ease-out forwards envol;position:absolute;transform:translate(-50%,-100%)}@keyframes envol{to{opacity:0;margin-top:-36px}}.attente{color:var(--discret);place-items:center;display:grid;position:fixed;inset:0}.panneau{background:var(--panneau);border:1px solid var(--trait);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:12px;padding:10px 12px;position:fixed}.inventaire{top:calc(10px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));gap:14px;display:flex}.stock{flex-direction:column;line-height:1.1;display:flex}.stock b{font-variant-numeric:tabular-nums;font-size:22px}.stock span{color:var(--discret);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.joueurs{top:calc(10px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));color:var(--discret);max-width:180px}.joueurs b{color:var(--texte)}.joueurs ul{margin:4px 0 0;padding-left:16px}.barre{bottom:calc(10px + env(safe-area-inset-bottom));left:calc(10px + env(safe-area-inset-left));flex-wrap:wrap;align-items:center;gap:8px;max-width:calc(100vw - 20px);display:flex}.sep{background:var(--trait);align-self:stretch;width:1px}.discussion{bottom:calc(64px + env(safe-area-inset-bottom));left:calc(10px + env(safe-area-inset-left));background:#0d151e8c;width:min(320px,100vw - 20px)}.discussion ul{margin:0 0 6px;padding:0;font-size:13px;list-style:none}.discussion input{width:100%;padding:5px 8px}.menu{z-index:2;width:min(380px,100vw - 32px);top:50%;left:50%;transform:translate(-50%,-50%)}.code{color:var(--accent);-webkit-user-select:all;user-select:all;text-align:center;font-family:ui-monospace,monospace;font-size:18px}.aide{color:var(--discret);font-size:12px}.bandeau{background:var(--erreur);color:#2a0a0a;border-radius:8px;padding:6px 12px;position:fixed;top:64px;left:50%;transform:translate(-50%)}.bulles{top:calc(70px + env(safe-area-inset-top));pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.bulle{background:var(--panneau);border:1px solid var(--trait);border-radius:10px;padding:7px 14px}.bulle.erreur{border-color:var(--erreur)}@media (width<=700px){.joueurs ul,.discussion{display:none}}@media (prefers-reduced-motion:reduce){.envol{animation-duration:10ms}}.fondu{z-index:3;color:var(--accent);letter-spacing:.06em;opacity:0;pointer-events:none;background:radial-gradient(circle,#16222e,#05080c);place-items:center;font-size:26px;transition:opacity .35s;display:grid;position:fixed;inset:0}.fondu span{transition:transform .6s;transform:translateY(8px)}.fondu.visible{opacity:1;pointer-events:auto}.fondu.visible span{transform:none}@media (prefers-reduced-motion:reduce){.fondu,.fondu span{transition:none}}.editeur{top:calc(120px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));flex-direction:column;gap:8px;width:min(300px,100vw - 20px);display:flex}.editeur-titre{color:var(--accent)}.outils{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.outils label,.outils span{align-items:center;gap:4px;display:flex}.editeur select,.nouvelle-piece select,.nouvelle-piece input{font:inherit;color:var(--texte);border:1px solid var(--trait);background:#0000004d;border-radius:8px;max-width:140px;padding:5px 6px}.nouvelle-piece{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.nouvelle-piece label{color:var(--discret);align-items:center;gap:4px;font-size:12px;display:flex}.nouvelle-piece input[type=number]{width:56px}.nouvelle-piece #piece-nom{flex:100%;max-width:none}.horloge{color:var(--discret);font-variant-numeric:tabular-nums;margin-left:6px;font-weight:400}.fabrication{bottom:calc(64px + env(safe-area-inset-bottom));right:calc(10px + env(safe-area-inset-right));flex-direction:column;gap:8px;width:min(320px,100vw - 20px);display:flex}.fabrication ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.fabrication li{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.jauges{top:calc(74px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));gap:4px;width:200px;display:grid}.jauge{color:var(--discret);grid-template-columns:64px 1fr;align-items:center;gap:6px;font-size:11px;display:grid}.barre-fond{background:#ffffff1a;border-radius:4px;height:8px;overflow:hidden}.barre-plein{height:100%;transition:width .5s}.jauge.basse .barre-plein{animation:1s infinite clignote}@keyframes clignote{50%{opacity:.35}}button.consommer{border-color:var(--accent);padding:0 4px}@media (prefers-reduced-motion:reduce){.jauge.basse .barre-plein{animation:none}}
