*{box-sizing:border-box} :root{font-family:Arial,Helvetica,sans-serif;color:#262521;background:#f7f6f1;--accent:#ba432a;--line:#deded4}body{margin:0;display:grid;grid-template-columns:250px 1fr;min-height:100vh}button,input,textarea,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}aside{position:sticky;top:0;height:100vh;background:#eeeee7;border-right:1px solid var(--line);padding:38px 24px;display:flex;flex-direction:column}.brand{font-size:47px;font-weight:850;letter-spacing:-3px}.brand span{display:block;font-size:9px;letter-spacing:2.6px;margin:4px 0 25px 2px}.local{font-size:11px;color:#626754;margin-bottom:30px;display:flex;align-items:center;gap:7px}.local span{width:6px;height:6px;background:#677e4c;border-radius:50%}.primary{background:var(--accent);border:0;color:white;border-radius:5px;padding:14px 19px;font-size:13px;font-weight:600}.primary:hover{background:#9e3520}aside h2{font-size:10px;text-transform:uppercase;letter-spacing:1.8px;color:#7e7d74;margin-top:37px}nav{overflow:auto}nav button{text-align:left;width:100%;padding:14px 10px;background:transparent;border:0;border-bottom:1px solid var(--line);line-height:1.5}nav button:hover,nav button.selected{background:#e2e2d8}nav small{display:block;font-size:10px;color:#77776c}.aside-bottom{margin-top:auto;padding-top:30px;color:#67685c;font-size:12px;line-height:1.8}.aside-bottom small{font-size:10px}main{padding:30px 6vw 20px;max-width:1450px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid var(--line)}.eyebrow{font-size:10px;letter-spacing:2px}.quiet{display:inline-block;background:transparent;border:1px solid #cecec3;border-radius:5px;padding:10px 14px;font-size:12px}.quiet:hover{background:#ebebe3}.intro{padding:46px 0 22px}.pill{font-size:9px;font-weight:600;letter-spacing:1.6px;color:var(--accent)}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(35px,4.2vw,63px);font-weight:400;line-height:1.06;letter-spacing:-2px;margin:22px 0}h1 span{color:var(--accent)}.intro p{color:#77776c;line-height:1.7;font-size:14px}form{background:#fffefa;padding:28px;border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 22px #292a2010}label{display:block;font-size:12px;font-weight:600;margin-bottom:10px}input,textarea,select{width:100%;background:#f8f8f3;border:1px solid #deded4;border-radius:4px;padding:13px;color:#333;font-size:13px}textarea{line-height:1.65;resize:vertical}input{margin-bottom:25px}input:focus,textarea:focus,select:focus{outline:2px solid #ba432a66;outline-offset:1px}::placeholder{color:#999a90}.options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:22px 0}.form-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;gap:20px}.form-bottom small{font-size:10px;color:#7d7c73;line-height:1.7}.rules{font-size:12px;line-height:1.7;margin-top:24px;color:#737368}.rules summary{cursor:pointer;color:#3e4136}.privacy{font-size:11px;line-height:1.7;color:#77786c;max-width:800px;margin:23px 0}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:42px;padding:20px 0;color:#96988b;font-size:9px;letter-spacing:1.2px}#notice:not(:empty),#project-error:not(:empty){padding:14px 18px;margin:20px 0;background:#f4e6dc;border:1px solid #e3c6b3;font-size:13px;line-height:1.6;border-radius:5px}.project-heading{display:flex;justify-content:space-between;align-items:center;margin-top:40px}.project-heading h1{font-size:43px}#synopsis{max-width:850px;line-height:1.8;color:#686c60;font-size:15px}#progress{font-size:12px;color:var(--accent);margin:25px 0}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.panels{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.panel{background:#fffefa;border:1px solid var(--line);border-radius:5px;overflow:hidden;break-inside:avoid}.panel img{width:100%;display:block;aspect-ratio:3/4;object-fit:contain;background:white}.panel-placeholder{aspect-ratio:3/4;background:repeating-linear-gradient(45deg,#eeeee7,#eeeee7 1px,#f5f5ef 1px,#f5f5ef 9px);display:flex;align-items:center;justify-content:center;color:#999b90;font-family:Georgia,serif;font-size:50px}.panel-copy{padding:20px}.panel-copy small{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#888d7e}.panel-copy p{font-size:13px;line-height:1.7;margin:12px 0}.dialogue{font-weight:600;white-space:pre-wrap;border-left:2px solid var(--accent);padding-left:12px}.panel details{font-size:11px;color:#777;line-height:1.6}.panel details p{font-size:11px}.panel a{font-size:11px;text-decoration:underline}code{font-size:11px;overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:800px){body{display:block}aside{position:relative;height:auto;padding:20px;display:block;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:34px}.brand span,.aside-bottom,.local{display:none}aside>.primary{position:absolute;right:20px;top:25px}aside h2{margin-top:22px}nav{display:flex;gap:10px}nav button{min-width:150px;max-width:220px}main{padding:22px}.intro{padding-top:28px}.form-bottom{display:block}.form-bottom button{margin-top:18px;width:100%}.panels{gap:12px}.panel-copy{padding:12px}}@media(max-width:500px){.panels,.options{grid-template-columns:1fr}.eyebrow{font-size:8px}.quiet{font-size:10px}form{padding:20px}}@media print{body{display:block;background:white}aside,header,footer,.actions,#notice,#project-error,#progress,#review-note,.panel details,.panel a,#print{display:none!important}main{padding:0;max-width:none}.panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.panel img{max-height:115mm}.panel-copy p{font-size:10px}.project-heading{margin-top:0}.project-heading h1{font-size:28px}#synopsis{font-size:11px}.panel{border:1px solid #333;border-radius:0}}
.prefilters{border:1px solid var(--line);border-radius:5px;padding:18px;margin:22px 0}.prefilters legend{font-size:12px;font-weight:600;padding:0 8px}.prefilters p{font-size:11px;color:#777;line-height:1.6}.prefilters .options{margin:12px 0}.pages{display:grid;grid-template-columns:1fr;gap:32px;margin:30px auto;max-width:880px}.pages .panel img{aspect-ratio:auto}.pages .panel-copy{padding:24px}.page-script>summary{font-size:13px;cursor:pointer}.cell-editor{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}.cell-editor h3{font-size:12px;color:var(--accent)}.edit-field{margin:14px 0;font-size:11px}.edit-field textarea{display:block;margin-top:8px;font-weight:400}.pages .panel-copy>a{display:inline-block;margin-top:18px}.page-script p{white-space:pre-wrap}@media print{@page{size:A4 portrait;margin:8mm}body{margin:0}#project>.project-heading,#synopsis{display:none}.pages{display:block;margin:0;max-width:none}.pages .panel{border:0;break-after:page}.pages .panel:last-child{break-after:auto}.pages .panel img{max-height:280mm;width:100%;object-fit:contain}.pages .panel-copy{display:none}}

#story-print{display:none}.level-help{display:block;margin-top:4px;color:#8a8a8a;font-size:12px;line-height:1.35}#levels-guide h3{margin:12px 0 4px;font-size:14px}#levels-guide p{margin:2px 0;font-size:13px}
@media print{body.printing-story>*:not(#story-print){display:none!important}body.printing-story #story-print{display:block}#story-print img{display:block;width:100%;max-height:280mm;object-fit:contain;break-after:page}#story-print img:last-child{break-after:auto}}

#account{margin:8px 0 16px;font-size:13px;color:#aaa}#account p{margin:2px 0}#account-credits{color:#f2c14e;font-weight:600}#auth form{max-width:420px}

/* ── Couche design 05/10/2026 ───────────────────────────────────────────── */
#account{border:1px solid var(--line);border-radius:8px;padding:12px;background:#f6f6f0}#account-email{color:#55584c;overflow-wrap:anywhere}#account-credits{font-size:15px}#gift-form{display:flex;gap:6px;margin:8px 0;padding:0;border:0;box-shadow:none;background:transparent}#gift-form input{margin:0;padding:8px;font-size:11px;text-transform:uppercase}#gift-form button{padding:8px 10px;white-space:nowrap}#logout{width:100%}
#auth form{margin-top:10px}#auth .actions{margin-top:6px}#admin{margin-top:18px}#admin form{margin:12px 0;padding:14px;box-shadow:none}#admin input{margin-bottom:0}
.pill#state{display:inline-block;padding:4px 10px;border-radius:999px;background:#eeeee7;color:#55584c;font-size:9px}.pill#state[data-state=ready]{background:#e4ecd6;color:#3f5a21}.pill#state[data-state=completed]{background:#dfe9f3;color:#24466b}.pill#state[data-state=error]{background:#f4e0dc;color:#8a2a1c}.pill#state[data-state=planning],.pill#state[data-state=rendering]{background:#f6ead2;color:#7a5410}
#progress-bar{height:4px;background:#e6e6dd;border-radius:999px;overflow:hidden;margin-top:18px}#progress-bar span{display:block;height:100%;background:var(--accent);transition:width .6s ease;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{opacity:.55}}
#notice:not(:empty){position:sticky;top:12px;z-index:5;box-shadow:0 8px 24px #2a2a2012}
.level-help{min-height:30px}#levels-guide{columns:2;column-gap:28px}#levels-guide h3{break-after:avoid}
.panel{transition:box-shadow .2s}.panel:hover{box-shadow:0 8px 28px #2a2a2014}.cell-editor{padding:12px 0;border-top:1px dashed var(--line)}.cell-editor h3{font-size:12px;margin:0 0 8px;color:#55584c}.edit-field{margin-bottom:10px}.edit-field textarea{margin-top:6px}
@media(max-width:800px){#account{margin:0 0 12px}#levels-guide{columns:1}#notice:not(:empty){position:static}}
/* ── Ai-Koma : accueil et bibliothèque ──────────────────────────────────── */
:root{--ink:#161513;--paper:#f7f6f1;--accent:#c2412a;--accent-deep:#8f2a18;--gold:#d9a441}
.header-actions{display:flex;gap:10px;align-items:center}
.hero{padding:64px 0 28px;max-width:860px}.hero h1{font-size:clamp(44px,6.4vw,92px);letter-spacing:-3px;margin:18px 0 22px}.lead{font-size:17px;line-height:1.75;color:#55584c;max-width:720px}.fine{font-size:11px;color:#8a8b80;margin-top:18px;letter-spacing:.3px}
.teasers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:34px 0 10px}.teasers figure{margin:0;background:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 18px 40px #16151326;transform:rotate(-1.2deg)}.teasers figure:nth-child(2){transform:rotate(.8deg) translateY(14px)}.teasers figure:nth-child(3){transform:rotate(-.6deg)}.teasers img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.teasers figcaption{padding:10px 14px;color:#e9e6dd;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}
.promise,.how,.pricing,.rules-landing{padding:54px 0 10px;border-top:1px solid var(--line);margin-top:44px}.promise h2,.how h2,.pricing h2,.rules-landing h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(28px,3.2vw,40px);letter-spacing:-1px;margin:0 0 24px}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.trio article{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:26px 24px;box-shadow:0 6px 22px #292a2010}.trio h3{font-size:17px;margin:12px 0 10px;letter-spacing:-.3px}.trio p{font-size:13px;line-height:1.7;color:#5d6054;margin:0}.trio article:nth-child(2) .pill{color:#8f2a18}.trio article:nth-child(3) .pill{color:#3b3f36}
.how ol{counter-reset:step;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.how li{counter-increment:step;background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:26px 24px 22px;font-size:13px;line-height:1.7;color:#5d6054;position:relative}.how li::before{content:counter(step);display:block;font-family:Georgia,serif;font-size:34px;color:var(--accent);margin-bottom:8px}.how strong{color:var(--ink)}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.price{background:#fffefa;border:1px solid var(--line);border-radius:10px;padding:22px 20px;display:grid;gap:6px}.price strong{font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-1px}.price strong::after{content:' crédits';font-family:Arial,sans-serif;font-size:11px;color:#8a8b80;letter-spacing:0}.price span{font-size:13px;font-weight:600}.price small{font-size:11px;color:#8a8b80}
.packs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:8px 0 24px}.plans{display:grid;grid-template-columns:3fr 2fr;gap:22px;margin:8px 0 24px;align-items:stretch}.plan{background:#fffefa;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:4px;padding:22px}.plan h3{font-family:Georgia,serif;font-size:26px;margin:4px 0 6px;letter-spacing:-.6px}.plan>p{font-size:13px;color:#6b6c61;margin:0 0 14px}.plan .packs{margin:0}.plan-sub{background:var(--accent);color:#fff;box-shadow:5px 5px 0 var(--ink)}.plan-sub .kicker{background:var(--ink)}.plan-sub h3{font-size:34px}.plan-sub ul{margin:10px 0 0;padding-left:18px;display:grid;gap:9px;font-size:13px;line-height:1.5}@media(max-width:900px){.plans{grid-template-columns:1fr}}.pack{background:var(--ink);color:#f3f1ea;border-radius:10px;padding:22px 20px;display:grid;gap:4px}.pack strong{font-family:Georgia,serif;font-size:34px;font-weight:400}.pack span{font-size:13px;color:var(--gold)}.pack small{font-size:11px;color:#a9a79d}.pack:nth-child(2){outline:2px solid var(--gold);outline-offset:-2px}
.rules-landing p{font-size:14px;line-height:1.75;color:#5d6054;max-width:800px}
.nav-library{width:100%;margin-top:10px}
.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px;margin-top:28px}.book{display:grid;grid-template-columns:120px 1fr;background:#fffefa;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 6px 22px #292a2010;transition:transform .15s,box-shadow .15s}.book:hover{transform:translateY(-2px);box-shadow:0 14px 34px #292a201c}.book-cover{background:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:160px}.book-cover img{width:100%;height:100%;object-fit:cover;display:block}.book-letter{font-family:Georgia,serif;font-size:56px;color:var(--gold)}.book-body{padding:16px 16px 14px;display:grid;gap:8px;align-content:start}.book-body h3{margin:0;font-size:16px;letter-spacing:-.3px;line-height:1.3}.book-body small{font-size:11px;color:#8a8b80;line-height:1.5}.book-chapters{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:4px 9px;font-size:10px;border-radius:999px}.book-body .actions{margin-top:4px;gap:8px}.book-body .actions .primary{padding:9px 13px;font-size:12px}.book-body .actions .quiet{padding:8px 11px;font-size:11px}
@media(max-width:900px){.teasers,.trio,.how ol,.price-grid,.packs{grid-template-columns:1fr 1fr}}@media(max-width:600px){.teasers,.trio,.how ol,.price-grid,.packs{grid-template-columns:1fr}.teasers figure{transform:none!important}.book{grid-template-columns:96px 1fr}.hero{padding-top:34px}}
.regen{display:block;margin-top:10px;font-size:11px}
.check{display:flex;gap:10px;align-items:flex-start;font-size:12px;font-weight:400;line-height:1.5;margin:4px 0 16px}.check input{width:auto;margin:3px 0 0}.check a{text-decoration:underline}
.danger{border-color:#d9b1a8;color:#8a2a1c;margin-top:8px;width:100%}.danger:hover{background:#f4e0dc}
.admin-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:14px 0}.stat{background:#fffefa;border:1px solid var(--line);border-radius:8px;padding:12px}.stat strong{display:block;font-family:Georgia,serif;font-size:22px;font-weight:400}.stat span{font-size:11px;color:#8a8b80}
body.legal{display:block}.legal-main{max-width:820px;margin:0 auto;padding:40px 24px 80px;line-height:1.75;color:#3a3b33}.legal-main h1{font-size:40px;margin:30px 0 10px}.legal-main h2{font-size:18px;margin:30px 0 8px;letter-spacing:-.3px}.legal-main p,.legal-main li{font-size:14px}.legal-main .brand{display:inline-block}

/* ── Charte manga de l'accueil ───────────────────────────────────────────── */
.manga-hero{position:relative;isolation:isolate;padding:70px 0 30px}
.manga-hero::before{content:'';position:absolute;inset:-40px -10vw 0 -40px;z-index:-1;background:radial-gradient(circle,#16151322 1.3px,transparent 1.6px) 0 0/14px 14px;mask-image:linear-gradient(115deg,#000 20%,transparent 62%);-webkit-mask-image:linear-gradient(115deg,#000 20%,transparent 62%);opacity:.7}
.manga-hero h1{position:relative;display:block;width:fit-content;font-weight:700;font-family:Georgia,'Times New Roman',serif;text-shadow:3px 3px 0 #fff,5px 5px 0 var(--ink)}
.manga-hero h1 span{color:var(--accent);text-shadow:3px 3px 0 #fff,5px 5px 0 #16151380}
.manga-hero .pill{display:inline-block;background:var(--ink);color:#fff;padding:6px 12px;border-radius:3px;transform:rotate(-1.5deg);box-shadow:3px 3px 0 var(--accent)}
.manga-hero .primary{box-shadow:4px 4px 0 var(--ink);border:2px solid var(--ink);transform:translate(0,0);transition:transform .08s,box-shadow .08s}.manga-hero .primary:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.manga-hero .quiet{border:2px solid var(--ink);box-shadow:4px 4px 0 #16151326}
.sfx{position:absolute;font-family:Impact,'Arial Black',Helvetica,sans-serif;font-weight:900;letter-spacing:-1px;color:transparent;-webkit-text-stroke:2px #16151322;pointer-events:none;user-select:none;z-index:-1}
.sfx-a{right:4vw;top:26px;font-size:clamp(70px,9vw,150px);transform:rotate(-12deg)}.sfx-b{right:22vw;bottom:-10px;font-size:clamp(44px,6vw,96px);transform:rotate(8deg);-webkit-text-stroke-color:#c2412a2e}
.teasers{position:relative;padding:34px 0 10px}.teasers::before{content:'';position:absolute;inset:0 -6vw;z-index:-1;background:repeating-linear-gradient(-28deg,transparent 0 22px,#16151309 22px 23px);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 72%)}
.teasers figure{border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink),0 18px 40px #16151326;border-radius:4px;background:#fff}.teasers figcaption{background:var(--ink);font-family:Impact,'Arial Black',Helvetica,sans-serif;letter-spacing:1px;font-size:12px}
.kicker{display:inline-block;font-family:Impact,'Arial Black',Helvetica,sans-serif;font-size:11px;letter-spacing:2.6px;background:var(--ink);color:#fff;padding:5px 10px 4px;margin-bottom:12px;transform:skewX(-8deg)}
.promise h2,.how h2,.pricing h2,.rules-landing h2{font-weight:700;text-shadow:2px 2px 0 #fff,4px 4px 0 #1615131a}
.trio article,.how li,.price{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:4px}.trio article .pill{display:inline-block;background:var(--accent);color:#fff;padding:4px 9px;border-radius:2px;transform:rotate(-2deg)}.trio article:nth-child(2) .pill{background:#8f2a18;color:#fff}.trio article:nth-child(3) .pill{background:var(--ink);color:#fff}
.how li::before{font-family:Impact,'Arial Black',Helvetica,sans-serif;font-size:44px;-webkit-text-stroke:1px var(--ink);color:#fff;text-shadow:3px 3px 0 var(--accent)}
.pack{border:2px solid var(--ink);box-shadow:5px 5px 0 var(--gold);border-radius:4px}.pack:nth-child(2){outline:0;background:#1f1a16;position:relative}.pack:nth-child(2)::after{content:'LE PLUS CHOISI';position:absolute;top:-12px;right:14px;background:var(--gold);color:var(--ink);font-family:Impact,'Arial Black',Helvetica,sans-serif;font-size:10px;letter-spacing:1.5px;padding:4px 8px;transform:rotate(3deg)}
.rules-landing{background:var(--ink);color:#f3f1ea;margin:60px -6vw 0;padding:54px 6vw 44px;border-top:0}.rules-landing h2{color:#fff;text-shadow:2px 2px 0 #000,4px 4px 0 var(--accent)}.rules-landing p{color:#cfcbc0}.rules-landing .kicker{background:var(--accent)}
@media(max-width:800px){.sfx-a{right:-10px;top:-6px}.sfx-b{display:none}.manga-hero::before{inset:-20px -24px 0 -24px}.rules-landing{margin:40px -22px 0;padding:40px 22px}}

.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:24px}.card-title{font-family:Georgia,serif;font-size:19px;font-weight:700;margin:22px 0 0;letter-spacing:-.4px}#account .buy{width:100%;margin:8px 0 2px;border-color:var(--accent);color:var(--accent);font-weight:600}#compte-sub{font-size:15px;font-weight:600}.card{background:#fffefa;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:4px;padding:22px}.card p{margin:10px 0;font-size:14px}.balance{font-size:16px}.balance strong{font-family:Georgia,serif;font-size:48px;font-weight:400;letter-spacing:-2px;margin-right:6px}.card .actions{margin-top:14px}.beta-note{display:flex;gap:14px;align-items:flex-start;margin:22px 0 4px;padding:14px 16px;background:#fff7e6;border:2px dashed var(--ink);border-radius:4px}.beta-note .kicker{flex:none;margin:2px 0 0;background:var(--accent)}.beta-note p{margin:0;font-size:13px;line-height:1.6;color:#4a463c}.beta-note strong{color:var(--ink)}@media(max-width:600px){.beta-note{flex-direction:column;gap:8px}}.card form{display:flex;gap:6px;padding:0;border:0;box-shadow:none;background:transparent;margin:12px 0}.card form input{margin:0;text-transform:uppercase}
.section-title{font-family:Georgia,serif;font-weight:400;font-size:26px;margin:40px 0 12px;letter-spacing:-.5px}.ledger{width:100%;border-collapse:collapse;font-size:13px;background:#fffefa;border:1px solid var(--line)}.ledger th,.ledger td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}.ledger th{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#8a8b80}.ledger .plus{color:#3f5a21;font-weight:600}.ledger .minus{color:#8a2a1c}
.modal{position:fixed;inset:0;background:#16151399;display:flex;align-items:center;justify-content:center;z-index:50;padding:20px}.modal-card{background:var(--paper);border:3px solid var(--ink);box-shadow:10px 10px 0 var(--ink);border-radius:4px;padding:30px;max-width:560px;width:100%}.modal-card h2{font-family:Georgia,serif;font-weight:700;font-size:28px;margin:10px 0;letter-spacing:-1px}.modal-card .actions{margin:16px 0;flex-direction:column;align-items:stretch}.modal-card .actions button{width:100%}
@media(max-width:800px){.account-grid{grid-template-columns:1fr}}

/* Passe QA du 05/10/2026 : lisibilité (corps ≥ 11 px, contrastes ≥ 4,5 sur fond clair), pas de débordement latéral. */
main{overflow-x:clip}
#account-credits{color:#8a5a00;font-weight:700}
.brand span{font-size:10px}
aside h2{font-size:11px;color:#5e5f55}
nav small,.aside-bottom small{font-size:11px;color:#5e5f55}
nav small{color:#66665c}
.fine,.privacy,.intro p,.level-help,.price small,.book-body small,figcaption{color:#5f6055}
.fine,.privacy{font-size:12px}
.level-help,.price small,.book-body small{font-size:12px}
footer{font-size:11px;color:#5f6055}footer a{font-size:11px;color:#4f5046;text-decoration:underline}
.ledger th,th{font-size:11px;color:#5f6055}
.panel-copy small,.panel details,.panel details p,.dialogue,.panel a{font-size:12px}
.panel-copy small{color:#5f6055}.panel details,.panel details p{color:#55564c}
.pill{font-size:10px}
.form-bottom small,small#prepare-note{font-size:12px;color:#5f6055}
.rules,.rules li,.rules p{font-size:13px;color:#55564c}
#progress{color:#5f6055}#progress:not(:empty){font-weight:600}

/* Téléphone : cibles tactiles d'au moins 44 px et texte lisible. */
@media(max-width:800px){
  .quiet,.primary,button,select,input,summary{min-height:44px}
  .quiet,.primary{font-size:13px;display:inline-flex;align-items:center;justify-content:center;padding-top:10px;padding-bottom:10px}
  .brand{min-height:44px;display:inline-block}
  footer a{display:inline-block;padding:14px 8px;min-height:44px}
  footer{flex-wrap:wrap;gap:4px}
  .eyebrow{font-size:10px}
  .manga-hero .pill,.pill{font-size:10px}
  #notice:not(:empty){position:static}
}
.table-scroll{overflow-x:auto;margin:8px 0 18px}.table-scroll table{min-width:520px;font-size:12px}#admin-events td,#admin-users td{font-size:12px;vertical-align:top;overflow-wrap:anywhere}
.project-notice{margin:14px 0;padding:12px 16px;background:#fdecea;border:2px solid #b3261e;border-radius:4px;color:#6e1a14;font-size:13px;line-height:1.6;font-weight:600}
.legal-main mark{background:#fff3c4;color:#5a4300;padding:1px 4px;border-radius:3px}.legal-main ul{padding-left:20px}.legal-main li{margin:4px 0}

/* Interface anglaise (05/10/2026) : pas de flash du français, textes posés par CSS, bouton de langue. */
html[data-lang="en"]:not(.i18n-ready) body{visibility:hidden}
html[data-lang="en"] .price strong::after{content:' credits'}
html[data-lang="en"] .pack:nth-child(2)::after{content:'MOST POPULAR'}
#lang-switch{display:block;margin-top:14px}
@media(min-width:801px){#lang-switch-landing.only-mobile{display:none}}
@media(max-width:500px){.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}}
/* Formulaire de rétractation : en colonne, pas en ligne comme le code cadeau de la même carte. */
.card #withdraw-form{display:block;margin:12px 0}#withdraw-form select{margin:6px 0 4px}#withdraw-form .primary{margin-top:6px}

/* ── Bandeau de gauche, visiteur non connecté : le même univers que l'accueil (encre, trame, cadres de manga) ── */
.aside-art,.aside-registers{display:none}
body.logged-out aside{background:var(--ink);color:#f3f1ea;border-right:3px solid var(--accent);isolation:isolate;overflow:hidden}
body.logged-out aside::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(circle,#ffffff1f 1.3px,transparent 1.7px) 0 0/13px 13px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 25%,#000 75%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 25%,#000 75%,transparent 100%)}
body.logged-out aside .brand{color:#fff;text-shadow:3px 3px 0 var(--accent)}
body.logged-out aside .brand span{color:var(--gold);text-shadow:none}
body.logged-out .aside-art{display:block;position:relative;height:310px;margin:2px 0 6px}
.aside-kanji{position:absolute;left:-4px;top:-6px;font:900 78px/1 'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP',Impact,sans-serif;color:transparent;-webkit-text-stroke:1.5px #ffffff40;writing-mode:vertical-rl;letter-spacing:-8px;user-select:none}
.aside-kanji::before{content:'コマ'}
.aside-frame{position:absolute;margin:0;width:148px;border:3px solid #fff;background:#fff;overflow:hidden}
.aside-frame img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
.aside-frame-a{right:0;top:0;transform:rotate(3deg);box-shadow:6px 6px 0 var(--accent)}
.aside-frame-b{left:30px;top:128px;transform:rotate(-4deg);box-shadow:6px 6px 0 var(--gold)}
body.logged-out .aside-registers{display:grid;gap:8px;list-style:none;padding:0;margin:14px 0 0}
.aside-registers li{font:800 11px/1.2 Impact,'Arial Black',Helvetica,sans-serif;letter-spacing:1.5px;text-transform:uppercase;background:#ffffff14;border-left:4px solid var(--accent);padding:9px 10px;color:#f3f1ea}
.aside-registers li:nth-child(2){border-left-color:var(--gold)}.aside-registers li:nth-child(3){border-left-color:#fff}
body.logged-out .aside-bottom p{color:#f3f1ea;font-weight:700}
body.logged-out .aside-bottom small{color:#bdb9ad}
body.logged-out #lang-switch{background:transparent;color:#fff;border:2px solid #fff;box-shadow:3px 3px 0 var(--accent)}
@media(max-height:760px){body.logged-out .aside-art{height:220px}.aside-frame{width:112px}.aside-frame-b{top:96px}}
@media(max-height:620px){.aside-art,.aside-registers{display:none!important}}
@media(max-width:900px){.aside-art,.aside-registers{display:none!important}body.logged-out aside{border-right:0;border-bottom:3px solid var(--accent)}}

/* Coût estimé d'un récit, sous le formulaire ; en rouge quand le solde ne suffit pas. */
.cost-line{margin:18px 0 0;padding:10px 14px;border-left:3px solid var(--ink);background:#f1efe6;font-size:13px;line-height:1.6}.cost-line.short{border-left-color:var(--accent);background:#fbe9e3}
/* Administration : barre de recherche, lignes cliquables, fiche d'un client. */
.nav-admin{border-color:var(--ink);font-weight:600}
.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 4px}.admin-toolbar input{flex:1 1 260px;margin:0}.admin-toolbar select{flex:0 0 220px}
.admin-users tbody tr.clickable{cursor:pointer}.admin-users tbody tr.clickable:hover,.admin-users tbody tr.clickable:focus{background:#f1efe6;outline:none}.admin-users tbody tr.clickable td:first-child{font-weight:600;text-decoration:underline;text-decoration-color:#cecec3;text-underline-offset:3px}
.admin-user{margin:22px 0 30px}.admin-user-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.admin-user-email{font-family:Georgia,serif;font-size:28px;font-weight:700;letter-spacing:-.8px;margin:6px 0;overflow-wrap:anywhere}
.admin-badges{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}.badge{font-size:11px;font-weight:700;padding:3px 9px;border-radius:99px;background:var(--ink);color:#fff}.badge.warn{background:var(--accent)}
.admin-user .stat.key{border:2px solid var(--ink)}.admin-user .stat.negative strong{color:var(--accent)}
.admin-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin:18px 0 6px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.card form.admin-credit{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0}.admin-credit strong{width:100%;font-size:12px}.card form.admin-credit input{width:110px;margin:0;text-transform:none}.card form.admin-credit input+input{width:180px}
#birth-help{margin:-14px 0 20px;font-size:11px;color:#6b6c61;line-height:1.5}
@media(max-width:800px){#account #gift-form,#account #logout{display:none}.admin-user-head{flex-direction:column}.admin-toolbar select{flex:1 1 100%}}
/* Téléphone : le bandeau du compte tient en quelques lignes, le contenu remonte. */
@media(max-width:800px){aside>.primary{position:static;width:100%;margin:12px 0 0}#account{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:10px 12px}#account p{margin:0}#account .buy{width:auto;margin:0 0 0 auto;padding:8px 12px}aside .nav-library{width:auto;margin:8px 6px 0 0;padding:9px 12px}}
.stat strong{overflow-wrap:anywhere}.admin-users{min-width:760px}.admin-users td:not(:first-child){white-space:nowrap}
/* Compte de 15 à 17 ans : rien qui évoque les registres adultes dans la barre de gauche. */
body.minor .aside-bottom p,body.minor .aside-bottom small{display:none}
/* Scénario : la description pour le dessin (en anglais) se replie sous les répliques. */
.cell-editor details.scene{margin:6px 0 10px;font-size:11px;color:#77776c}.cell-editor details.scene summary{cursor:pointer}.cell-editor details.scene p{margin:6px 0 0}
body.minor .brand span{visibility:hidden}
/* Édition illustrée (option payante) et consentement d'un récit sensuel. */
.premium{border-color:var(--gold,#d9a441);font-weight:600}.premium:hover{background:#fbf3e1}
.consent{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:12px 14px;border:1px solid var(--line);border-radius:5px;background:#fbf7ee;font-weight:400;font-size:12px;line-height:1.6}.consent input{width:auto;margin:3px 0 0}
