@font-face{font-family:Pinyon;src:url('/v/PinyonScript-Regular.ttf')}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 0 55%,#ffb0662b,transparent 60%),linear-gradient(165deg,#16233f,#111a2f 60%,#080d18);min-height:100svh;color:#fff;font:16px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}main{max-width:680px;margin:auto;padding:32px 24px 60px;text-align:center}.brand{font:48px Pinyon,cursive;color:#fff;text-decoration:none;display:block;margin-bottom:38px}h1{font-size:28px;letter-spacing:-.7px}p{color:#c3cada;line-height:1.6}#avatar{margin:auto;width:76px;height:76px;overflow:hidden;border-radius:50%;background:#8fb4ff26;color:#8fb4ff;display:grid;place-items:center;font-size:30px;border:1px solid #8fb4ff66}#avatar img{width:100%;height:100%;object-fit:cover}#books{margin:42px 0;min-height:180px}.shelf{display:flex;align-items:flex-end;justify-content:center;gap:7px;padding-bottom:16px;position:relative}.shelf:after{content:'';position:absolute;bottom:0;height:12px;left:0;right:0;border-radius:3px;background:linear-gradient(#fff5,#d8b27b22);border-top:1px solid #fff9;box-shadow:0 8px 12px #0003}.spine{height:145px;flex:1;max-width:40px;min-width:12px;background:linear-gradient(90deg,#c7b798,#eadbc0,#b8a787);color:#23304a;border-radius:2px;position:relative;overflow:hidden}.spine img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}.spine span{position:relative;writing-mode:vertical-rl;font-size:12px;max-height:100%;padding:10px 2px;overflow:hidden}.cover{flex:2.6;max-width:116px;min-width:24px;aspect-ratio:.66;background:#ffffff16;border-radius:3px;overflow:hidden;display:grid;align-content:center;position:relative}.cover img{width:100%;height:100%;object-fit:fill;position:absolute;inset:0}.cover span{font-size:12px;padding:6px}.cover:has(img) span{position:absolute;clip-path:inset(100%)}.shelf [data-category=BD]{height:169px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:12px}.grid .cover{width:100%;max-width:none}.actions{display:grid;gap:12px;max-width:340px;margin:auto}.actions a{display:block;padding:15px 20px;border-radius:28px;border:1px solid #ffffff55;color:#fff;text-decoration:none}.actions a:first-child{background:#8fb4ff;color:#16233f;font-weight:600}.actions [hidden]{display:none}.foot{font-size:13px;margin-top:26px}@media(prefers-color-scheme:light){body{background:radial-gradient(ellipse at 0 55%,#ffb06633,transparent 60%),linear-gradient(165deg,#eef3ff,#f8f5f1);color:#20283b}.brand{color:#305596}p{color:#505b70}.actions a{color:#305596;border-color:#30559666}#avatar{color:#305596}.cover{background:#29365620}}

/* Palette des thèmes natifs nuit / clair, sans les anciens halos. */
:root{color-scheme:light dark;--page:#182333;--text:#fff;--sub:#ffffffbf;--accent:#8fb4ff;--on-accent:#16233f}
body{background:var(--page);color:var(--text)}
.brand,#avatar{color:var(--accent)}p{color:var(--sub)}
.cover,.spine{border:1px solid var(--text)}
.actions a{color:var(--accent);border-color:var(--accent)}
.actions a:first-child{background:var(--accent);color:var(--on-accent)}
.actions a:focus-visible,.brand:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
@media(max-width:420px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-color-scheme:light){:root{--page:#edf2fa;--text:#141c33;--sub:#293656e6;--accent:#2b56b8;--on-accent:#fff}}

.store-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:340px;margin:20px auto 0}
.store-button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:48px;padding:10px 8px;border:1px solid #777;border-radius:10px;background:#080808;color:#fff;text-decoration:none;font-size:14px;font-weight:600}
.store-button svg{width:25px;height:28px;flex:none}
.store-button[aria-disabled=true]{cursor:default}
.store-button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}

#collection-totals{font-weight:600;color:var(--text);margin:-20px 0 32px}

/* Signaler cette vitrine (§8 #47) et contact publié. */
.report-open{margin-top:8px;min-height:44px;padding:10px 16px;background:none;border:1px solid var(--sub);border-radius:22px;color:var(--sub);font:inherit;font-size:14px;cursor:pointer}
.report-open:focus-visible,#report button:focus-visible,#report input:focus-visible,.contact a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
#report{max-width:420px;width:calc(100% - 32px);border:1px solid var(--text);border-radius:16px;background:var(--page);color:var(--text);padding:20px;text-align:left}
#report::backdrop{background:#0009}
#report h2{font-size:20px;margin:0 0 8px}
#report fieldset{border:1px solid var(--sub);border-radius:12px;padding:0;margin:12px 0}
#report label{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 14px;border-top:1px solid #8884}
#report label:first-of-type{border-top:0}
#report input{width:20px;height:20px;accent-color:var(--accent)}
.report-actions{display:flex;gap:12px;justify-content:flex-end}
.report-actions button{min-height:44px;padding:10px 18px;border-radius:22px;border:1px solid var(--accent);background:none;color:var(--accent);font:inherit;font-weight:600;cursor:pointer}
#report-send{background:var(--accent);color:var(--on-accent)}
#report-send:disabled{opacity:.5;cursor:default}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact{font-size:13px;margin-top:24px}
.contact a{color:var(--accent)}
