html,body{touch-action:none;-webkit-user-select:none;user-select:none;background:#1b1424;height:100%;margin:0;font-family:ui-monospace,Menlo,Consolas,monospace;overflow:hidden}#app{width:100%;height:100%}.dialog{box-sizing:border-box;color:#f3ecdc;touch-action:manipulation;background:#1f1830;border:4px solid #f3ecdc;width:min(720px,100% - 32px);padding:14px 18px;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 0 0 4px #1f1830}.dialog.hidden{display:none}.dialog-name{color:#f5c542;margin-bottom:6px;font-weight:700}.dialog-text{cursor:pointer;min-height:3em;margin:0 0 12px;line-height:1.5}.dialog-choices{flex-wrap:wrap;gap:8px;display:flex}.dialog-choices button{font:inherit;color:inherit;cursor:pointer;background:#2f2547;border:2px solid #8f80b3;padding:6px 12px}.dialog-choices button:hover,.dialog-choices button:focus-visible,.dialog-choices button.selected{color:#1f1830;background:#f3ecdc;outline:none}.dialog-choices button:before{content:"▸ "}.iris{z-index:100;image-rendering:pixelated;pointer-events:none;position:fixed;inset:0}.iris.hidden{display:none}.lecture{z-index:50;touch-action:manipulation;background:#1b142499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lecture.hidden{display:none}.lecture-pied{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.lecture-bouton{font:inherit;color:#f3ecdc;cursor:pointer;background:#2f2547;border:2px solid #8f80b3;padding:6px 12px;text-decoration:none}.lecture-bouton:hover,.lecture-bouton:focus-visible{color:#1f1830;background:#f3ecdc;outline:none}.lecture-touches{opacity:.7;margin:10px 0 0;font-size:12px}@media (hover:none){.lecture-touches{display:none}}.feuille{box-sizing:border-box;color:#282636;background:#f8f4e8;border:4px solid #282636;width:min(600px,100% - 32px);max-height:calc(100% - 48px);padding:24px 28px;font-size:14px;line-height:1.45;animation:.48s steps(8,end) both feuille-sort;overflow-y:auto;box-shadow:8px 8px #0d0a12}@keyframes feuille-sort{0%{transform:translateY(60vh)}to{transform:none}}.feuille-tete{color:#f8f4e8;background:#2e3a6e;margin:-24px -28px 16px;padding:18px 28px 14px}.feuille-tete h2{letter-spacing:1px;margin:0;font-size:22px}.feuille-role{margin:4px 0 0;font-weight:700}.feuille-accroche{opacity:.8;margin:2px 0 0;font-size:12px}.feuille-apropos{margin:0 0 6px}.feuille h3{letter-spacing:1px;text-transform:uppercase;border-bottom:2px solid #282636;margin:18px 0 8px;padding-bottom:4px;font-size:13px}.feuille-ligne{grid-template-columns:112px 1fr;gap:12px;margin-bottom:10px;display:grid}.feuille-ligne p{margin:0}.feuille-quand{color:#2e3a6e;font-weight:700}.feuille-titre{font-weight:700}.feuille-lieu{color:#5c6274;font-weight:400}.feuille-texte{color:#3c4054}.feuille .lecture-bouton{color:#f8f4e8;background:#2e3a6e;border-color:#282636}.feuille .lecture-bouton:hover,.feuille .lecture-bouton:focus-visible{color:#f8f4e8;background:#282636}.feuille .lecture-touches{color:#5c6274}@media (width<=600px){.feuille{padding:18px}.feuille-tete{margin:-18px -18px 14px;padding:14px 18px 12px}.feuille-ligne{grid-template-columns:1fr;gap:2px}}.livre{box-sizing:border-box;color:#f3ecdc;background:#6b2a2a;border:4px solid #282636;width:min(760px,100% - 32px);padding:12px;animation:.3s steps(5,end) both livre-ouvre;box-shadow:8px 8px #0d0a12}@keyframes livre-ouvre{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.livre-pages{background:#f3e7cf;border:4px solid #282636;grid-template-columns:1fr 1fr;min-height:min(360px,62vh);display:grid;position:relative}.livre-pages.une-page{grid-template-columns:1fr}.livre-page{color:#2b2135;cursor:pointer;padding:24px 26px 40px;font-size:15px;line-height:1.55;position:relative}.livre-pages:not(.une-page) .livre-page:first-child{border-right:2px solid #c9b48e;box-shadow:inset -10px 0 #e6d6b6}.livre-pages:not(.une-page) .livre-page:nth-child(2){box-shadow:inset 10px 0 #e6d6b6}.livre-page h3{color:#6b2a2a;margin:0 0 12px;font-size:17px}.livre-page p{margin:0}.livre-liens{flex-direction:column;align-items:flex-start;gap:4px;display:flex;margin-top:14px!important}.livre-liens a{color:#2e3a6e;font-weight:700}.livre-num{text-align:center;color:#8a7a5c;font-size:12px;position:absolute;bottom:12px;left:0;right:0}.livre-nav{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.livre-numeros{text-align:center;flex:1}.feuillet{pointer-events:none;background:#efe2c6;display:none;position:absolute;top:0;bottom:0;box-shadow:inset 0 0 0 2px #c9b48e}.feuillet.vers-la-gauche{animation:.32s steps(4,end) both feuillet-gauche;display:block}.feuillet.vers-la-droite{animation:.32s steps(4,end) both feuillet-droite;display:block}.feuillet.une-page{animation-name:feuillet-une-page}@keyframes feuillet-gauche{0%{width:50%;left:50%}50%{width:0;left:50%}to{width:50%;left:0}}@keyframes feuillet-droite{0%{width:50%;left:0}50%{width:0;left:50%}to{width:50%;left:50%}}@keyframes feuillet-une-page{0%{width:100%;left:0}to{width:0;left:0}}.stick{right:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;box-sizing:border-box;touch-action:none;background:#1f1830a6;border:4px solid #f3ecdc;border-radius:50%;width:112px;height:112px;position:fixed;box-shadow:0 0 0 4px #1f1830a6}.stick.hidden{display:none}.stick-bouton{box-sizing:border-box;pointer-events:none;background:#f3ecdc;border:4px solid #1f1830;border-radius:50%;width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.stick-fleche{opacity:.8;pointer-events:none;border:6px solid #0000;width:0;height:0;position:absolute}.stick-haut{border-top:0;border-bottom:8px solid #f3ecdc;margin-left:-6px;top:6px;left:50%}.stick-bas{border-top:8px solid #f3ecdc;border-bottom:0;margin-left:-6px;bottom:6px;left:50%}.stick-gauche{border-left:0;border-right:8px solid #f3ecdc;margin-top:-6px;top:50%;left:6px}.stick-droite{border-left:8px solid #f3ecdc;border-right:0;margin-top:-6px;top:50%;right:6px}.accueil{z-index:60;touch-action:manipulation;background:#1b1424b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.accueil-boite{box-sizing:border-box;color:#f3ecdc;background:#1f1830;border:4px solid #f3ecdc;width:min(420px,100% - 32px);padding:18px 20px;line-height:1.5;box-shadow:0 0 0 4px #1f1830}.accueil-nom{color:#f5c542;font-size:20px;font-weight:700}.accueil-boite p{margin:10px 0 14px}.accueil-entrer{font-weight:700;animation:1.2s steps(2,end) infinite accueil-clignote}@keyframes accueil-clignote{50%{opacity:.35}}
