:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.style-section{margin:15px 0;width:100%}.style-section label{display:block;margin-bottom:10px;font-weight:500;color:#646cff}.style-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.style-option{padding:12px;border:2px solid #3a3a3a;border-radius:10px;cursor:pointer;transition:all .2s ease;background:#1a1a1a}.style-option:hover{border-color:#646cff}.style-option.selected{border-color:#646cff;background:linear-gradient(135deg,#646cff26,#764ba226)}.style-option .style-header{display:flex;justify-content:space-between;align-items:center}.style-option h4{color:#646cff;margin:0 0 6px;font-size:.95rem}.style-option p{font-size:.8rem;color:#888;margin:0;line-height:1.3}.style-option.add-style{border-style:dashed;opacity:.7}.style-option.add-style:hover{opacity:1}.delete-style{background:transparent;border:none;color:#ff6b6b;font-size:1rem;padding:2px 6px;cursor:pointer;border-radius:4px}.delete-style:hover{background:#ff6b6b33}.nouveau-style-form{margin-top:12px;padding:15px;background:#2a2a2a;border-radius:10px;display:flex;flex-direction:column;gap:10px}.nouveau-style-form input{padding:10px;border:1px solid #3a3a3a;border-radius:6px;background:#1a1a1a;color:inherit}.nouveau-style-actions{display:flex;gap:10px}.nouveau-style-actions button{flex:1}.nouveau-style-actions button.secondary{background:transparent;border:1px solid #3a3a3a}.livre-style{display:inline-block;padding:3px 8px;background:#646cff33;color:#646cff;border-radius:4px;font-size:.75rem;margin-top:5px}@media(prefers-color-scheme:light){.style-option{background:#f9f9f9;border-color:#e0e0e0}.style-option.selected{background:linear-gradient(135deg,#646cff1a,#764ba21a)}.style-option p{color:#666}.nouveau-style-form{background:#f0f0f0}.nouveau-style-form input{background:#fff;border-color:#ddd}}.contenu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #3a3a3a}.btn-toggle-prompt{background:transparent;border:none;color:#888;cursor:pointer;font-size:.85rem;padding:4px 8px;border-radius:4px}.btn-toggle-prompt:hover{background:#646cff1a;color:#646cff}.btn-supprimer-contenu{background:transparent;border:none;color:#ff6b6b;cursor:pointer;font-size:1rem;padding:4px 8px;border-radius:4px}.btn-supprimer-contenu:hover{background:#ff6b6b33}.contenu-card .prompt{background:#646cff1a;padding:10px;border-radius:6px;margin-bottom:12px;font-size:.9rem;color:#aaa}@media(prefers-color-scheme:light){.contenu-header{border-bottom-color:#e0e0e0}.contenu-card .prompt{background:#646cff14;color:#666}}.btn-lire{background:linear-gradient(135deg,#4a90a4,#357a8c);border:none;color:#fff}.btn-lire:hover{background:linear-gradient(135deg,#357a8c,#2a6070)}.lecteur{position:fixed;inset:0;background:linear-gradient(135deg,#1a1a2e,#16213e);z-index:1000;overflow-y:auto;padding:20px}.btn-retour-lecteur{position:fixed;top:20px;left:20px;z-index:1001;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.livre-ouvert{max-width:800px;margin:60px auto 40px;background:linear-gradient(to right,#f5f0e6,#faf7f2 5% 95%,#f5f0e6);border-radius:8px;box-shadow:0 10px 40px #0006,inset 0 0 80px #0000000d;padding:50px 60px;color:#2c2c2c;min-height:80vh}.livre-ouvert .titre-chapitre{text-align:center;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:400;color:#3a3a3a;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid #d0c8b8}.livre-ouvert .pages{font-family:Georgia,Times New Roman,serif;font-size:1.1rem;line-height:1.9}.livre-ouvert .page{margin-bottom:30px}.livre-ouvert .texte-livre p{text-indent:2em;margin-bottom:1em;text-align:justify}.livre-ouvert .texte-livre p:first-child{text-indent:0}.livre-ouvert .texte-livre p:first-child:first-letter{font-size:3em;float:left;line-height:.8;margin-right:8px;margin-top:5px;color:#646cff;font-weight:700}.livre-ouvert .separateur{border:none;text-align:center;margin:40px 0}.livre-ouvert .separateur:before{content:"* * *";color:#a0a0a0;letter-spacing:1em}.livre-ouvert .empty{text-align:center;color:#888;font-style:italic}@media(prefers-color-scheme:light){.lecteur{background:linear-gradient(135deg,#e8e4df,#d5cfc7)}.btn-retour-lecteur{background:#0000001a;color:#333}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#ffecd2,#fcb69f);min-height:100vh}.app{max-width:900px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}header{text-align:center;padding:30px 0;margin-bottom:20px}header h1{font-size:2.5rem;color:#5d4e6d;text-shadow:2px 2px 4px rgba(0,0,0,.1)}header .subtitle{color:#8b7a9e;font-style:italic;margin-top:10px}main{flex:1;background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 40px #0000001a}footer{text-align:center;padding:20px;color:#8b7a9e}button{padding:10px 20px;border:none;border-radius:10px;cursor:pointer;font-size:1rem;transition:all .3s ease;background:linear-gradient(135deg,#a8e6cf,#88d8b0);color:#2d5a4a;font-weight:600}button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0003}button:disabled{opacity:.6;cursor:not-allowed;transform:none}button.danger{background:linear-gradient(135deg,#ffb3ba,#ff8a8a);color:#8b3a3a}.btn-retour{background:linear-gradient(135deg,#d4a5ff,#b388ff);color:#4a2c7a;margin-bottom:20px}.form-nouveau,.form-generation{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}.form-nouveau input,.form-generation textarea{flex:1;min-width:200px;padding:12px 15px;border:2px solid #e0d5f0;border-radius:10px;font-size:1rem;transition:border-color .3s ease}.form-nouveau input:focus,.form-generation textarea:focus{outline:none;border-color:#b388ff}.form-generation{flex-direction:column}.form-generation textarea{resize:vertical;font-family:inherit}h2{color:#5d4e6d;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid #e0d5f0}.livres-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.livre-card{background:linear-gradient(135deg,#ffeaa7,#fdcb6e);border-radius:15px;padding:20px;transition:transform .3s ease}.livre-card:hover{transform:translateY(-5px)}.livre-card h3{color:#6c5b4e;cursor:pointer;margin-bottom:10px}.livre-card p{color:#8b7355;font-size:.9rem;margin-bottom:15px}.livre-card .actions{display:flex;gap:10px}.description{color:#8b7a9e;font-style:italic;margin-bottom:20px}.chapitres-liste{display:flex;flex-direction:column;gap:15px}.chapitre-item{background:linear-gradient(135deg,#dfe6e9,#b2bec3);border-radius:15px;padding:20px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.chapitre-item .ordre{background:#5d4e6d;color:#fff;padding:5px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.chapitre-item h3{flex:1;color:#2d3436;cursor:pointer;margin:0}.chapitre-item .actions{display:flex;gap:10px}.editeur h2{color:#5d4e6d}.contenus{display:flex;flex-direction:column;gap:20px}.contenu-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;padding:25px;border-left:5px solid #b388ff}.contenu-card .prompt{background:#e0d5f0;padding:10px 15px;border-radius:10px;margin-bottom:15px;color:#5d4e6d;font-size:.9rem}.contenu-card .histoire{line-height:1.8;color:#2d3436;font-size:1.1rem;white-space:pre-wrap}.empty{text-align:center;color:#8b7a9e;padding:40px;font-style:italic}@media(max-width:600px){header h1{font-size:1.8rem}main{padding:20px}.form-nouveau,.chapitre-item{flex-direction:column;align-items:stretch}.chapitre-item .actions{justify-content:center}}
