:root{font-family:ui-rounded,system-ui,-apple-system,"Segoe UI",sans-serif;color:#233b30;background:#faf6ed}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e3ad52;outline-offset:2px}.shell{max-width:1100px;margin:auto;padding:0 20px 100px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:1.15rem}.brandicon{background:#b83b40;color:white;padding:12px;border-radius:15px}.sub{color:#6c796e;font-size:.87rem}.nav{display:flex;gap:8px;flex-wrap:wrap}.nav button,.chip,.ghost{border:1px solid #e1e4d9;background:white;border-radius:13px;padding:10px 13px;color:#285342}.nav button.active,.chip.active{background:#285342;color:white}.primary,.secondary,.danger{border:0;border-radius:14px;padding:13px 19px;font-weight:750}.primary{background:#b83b40;color:white}.secondary{background:#285342;color:white}.danger{background:#f9dada;color:#8d252a}.full{width:100%}.hero{background:#285342;color:white;border-radius:26px;padding:clamp(22px,5vw,48px);display:grid;grid-template-columns:1.5fr .8fr;gap:20px;align-items:center}.hero h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.07;margin:10px 0}.hero p{color:#e5f0e5;line-height:1.6}.hero-art{text-align:center;font-size:clamp(5rem,13vw,9rem)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.section{margin:28px 0}.section h2{font-size:1.5rem}.panel{background:white;border:1px solid #e7e8df;border-radius:20px;padding:22px;box-shadow:0 5px 24px #243c3010}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.item{background:white;border:1px solid #e4e7df;border-radius:19px;overflow:hidden;display:flex;flex-direction:column}.item .photo{height:165px;background:#f3ebde;display:flex;align-items:center;justify-content:center;font-size:4.5rem}.item .photo img,.bigphoto img{width:100%;height:100%;object-fit:cover}.item .content{padding:15px;display:flex;flex-direction:column;gap:8px;flex:1}.item h3{margin:0;font-size:1.05rem}.item .content button{margin-top:auto}.pill{display:inline-flex;border-radius:99px;background:#e7f2e8;color:#285342;padding:5px 10px;font-size:.8rem;font-weight:650}.muted{color:#657468}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}.fields{display:grid;gap:13px}.fields label{font-weight:650;font-size:.9rem;display:grid;gap:7px}input,select,textarea{width:100%;padding:12px 14px;border:1px solid #cdd7cd;border-radius:12px;background:white;color:#233b30}textarea{min-height:100px;resize:vertical}.cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.between{justify-content:space-between}.empty{text-align:center;padding:35px;color:#6d796e;background:white;border-radius:18px}.notice{background:#fff3d9;padding:12px 16px;border-radius:12px;color:#785b23}.success{background:#e7f4e8;color:#285342;padding:12px 16px;border-radius:12px}.error{background:#fde5e5;color:#9c2830;padding:12px 16px;border-radius:12px}.status{font-size:.8rem;background:#f3ede2;border-radius:8px;padding:5px 9px}.bigphoto{height:290px;background:#f3ebde;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:6rem;overflow:hidden}.bubble{background:#edf2e9;padding:10px 14px;border-radius:15px;max-width:85%;margin:8px 0}.bubble.mine{margin-left:auto;background:#f8e8e3}.bottom{display:none}.toast{position:fixed;bottom:22px;right:22px;background:#285342;color:white;padding:14px 20px;border-radius:13px;box-shadow:0 5px 30px #0003;z-index:9}.tiny{font-size:.78rem}.footer{margin-top:40px;padding:25px 0;color:#7a8279;border-top:1px solid #e1e5da}@media(max-width:720px){.shell{padding:0 14px 92px}.top{padding:13px 0}.top .nav{display:none}.hero{grid-template-columns:1fr}.hero-art{font-size:5rem}.cols{grid-template-columns:1fr}.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e3e7dd;justify-content:space-around;padding:10px 3px max(12px,env(safe-area-inset-bottom));z-index:5}.bottom button{border:0;background:transparent;color:#285342;font-size:.75rem;display:grid;gap:3px;justify-items:center}.bottom span{font-size:1.3rem}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.item .photo{height:125px}.item .content{padding:10px}.item h3{font-size:.94rem}.item .content button{padding:10px 7px;font-size:.82rem}}@media(prefers-reduced-motion:no-preference){button{transition:transform .12s}button:active{transform:scale(.98)}}

/* Identité graphique inspirée de la couverture originale fournie par l'auteur */
:root{color:#19395b;background:#f7f3eb}body{background:#f7f3eb;color:#19395b}
.brand{color:#174c80;font-weight:900;letter-spacing:-.03em}.brandicon{background:#d92d32;box-shadow:0 3px 0 #a5212c}
.nav button.active,.chip.active,.secondary{background:#174c80;color:#fff}
.primary{background:#d92d32;color:#fff;box-shadow:0 3px 0 #a5212c}.primary:hover{background:#c82730}
.ghost{color:#174c80}.pill{background:#ffe493;color:#173f70}
.hero{background:radial-gradient(circle at 16% 25%,#4678a8 0,#174c80 48%,#0c315a 100%);position:relative;overflow:hidden;grid-template-columns:1.1fr .9fr}
.hero:before{content:'✦  ·   ✧     ·    ✦      ·    ✧';position:absolute;top:12px;left:22px;right:20px;letter-spacing:24px;color:#fff9;pointer-events:none}
.hero h1{color:#ffd323;font-weight:950;text-shadow:0 3px 0 #0c315a;letter-spacing:-.045em}
.hero p{color:#fff;font-weight:500}.hero-art{font-size:initial;display:flex;align-items:center;justify-content:center}
.hero-art img{width:min(100%,420px);max-height:460px;object-fit:contain;border-radius:14px;box-shadow:0 14px 40px #001d3a70;transform:none}
.panel,.item{border-color:#e8dfd2}.item .photo,.bigphoto{background:#f3e5cb}
.footer a{color:#174c80;margin:0 5px}.account-danger{border:1px solid #e9c6c6;background:#fff8f6}.account-danger h2{color:#9b252e}
.legal-page{max-width:850px;margin:30px auto;line-height:1.7}.legal-page h2{font-size:1.12rem;margin-top:26px}
@media(max-width:720px){.hero-art img{max-height:250px}.hero{grid-template-columns:1fr}.hero h1{font-size:2.2rem}}
