:root{color-scheme:dark;--cream:#f8e9c9;--muted:#c9b99d;--gold:#e4b66c;--ink:#1a100c;--surface:#251a17;--line:#d9a96756;font-family:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#1d100b;color:var(--cream)}
body{overflow-x:hidden}
button,select,input,textarea{font:inherit}
button{cursor:pointer}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,.book:focus-visible{outline:3px solid #f6cf80;outline-offset:3px}
button:disabled{cursor:not-allowed;opacity:.5}
.svg-icon{display:inline-block;flex:none;width:1.15em;height:1.15em;vertical-align:-.16em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
[hidden]{display:none!important}
.app{min-height:100dvh;display:flex;flex-direction:column}
.topbar{height:84px;flex:none;position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:10px clamp(14px,3vw,60px);gap:20px;background:linear-gradient(180deg,#251711f5,#1e130fea);border-bottom:1px solid #cda15a5a;box-shadow:0 8px 30px #15090460}
.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}
.brand-mark{width:43px;height:43px;display:block;flex:none;border:0;border-radius:50%;object-fit:cover;background:transparent;box-shadow:none}
.brand strong{display:block;letter-spacing:.25em;font-size:22px;font-weight:600}
.brand small{display:block;font:11px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#c6aa7f}
.toolbar{display:flex;align-items:center;gap:12px}
.theme-picker{display:flex;align-items:center;gap:10px;font:11px Arial,sans-serif;letter-spacing:.11em;color:#bda47d;text-transform:uppercase;margin-right:5px}
select{color:var(--cream);background:#34241e;border:1px solid #92714b;border-radius:9px;padding:9px 28px 9px 12px;max-width:170px}
.round-link{background:#51301a;border:1px solid #a7804a;border-radius:50%;padding:0;width:51px;height:51px;display:grid;place-items:center;position:relative;box-shadow:0 4px 8px #0e05065e;transition:transform .2s}
.round-link:hover{transform:translateY(-2px)}
.round-link img{width:100%;height:100%;object-fit:contain;border-radius:50%}
.attic-link{border:0;background:transparent;box-shadow:none}
.unread-indicator{position:absolute;top:2px;right:0;width:9px;height:9px;background:#e64f43;border:2px solid #e9c079;border-radius:50%}
.help-button{display:flex;align-items:center;gap:8px;background:#e9bd77;color:#2d1a0e;border:1px solid #f8d79d;border-radius:999px;padding:12px 17px;font:700 13px Arial,sans-serif}
.help-button span:first-child{font-size:17px}
.library-scene{flex:1;position:relative;min-height:760px;display:grid;grid-template-columns:minmax(170px,1fr) minmax(360px,590px) minmax(170px,1fr);align-items:center;gap:clamp(8px,2vw,40px);padding:24px clamp(20px,4vw,75px);isolation:isolate;overflow:hidden}
.ambient{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,#17100df2 0%,#24140dc0 50%,#17100df2 100%),url('../images/bibliotheque-bd.webp') center center/cover;filter:blur(8px) saturate(.75);transform:scale(1.08)}
.library-scene:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#150d09bb,transparent 30% 70%,#150d09a8),linear-gradient(0deg,#130b08bb,transparent 25% 85%,#130b08a0)}
.shelf-viewport{width:100%;max-height:calc(100dvh - 128px);min-height:670px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ac7b42 #23140e;display:flex;justify-content:center;align-items:flex-start;border-radius:9px;filter:drop-shadow(0 12px 21px #070301c4)}
.shelf-stage{position:relative;flex:none;width:100%;aspect-ratio:941/1672;isolation:isolate;touch-action:pan-y}
.shelf-stage[data-room="attic"]{aspect-ratio:1024/1536}
.shelf-image{width:100%;height:100%;display:block;user-select:none;-webkit-user-drag:none;pointer-events:none}
.book-layer{position:absolute;inset:0;pointer-events:none}
.book{position:absolute;z-index:2;pointer-events:auto;transform:translate(-50%,-100%);height:10.9%;width:20%;display:flex;align-items:flex-end;justify-content:center;border:0;background:transparent;cursor:grab;touch-action:none;filter:drop-shadow(8px 7px 3px #210d0c80);user-select:none;-webkit-user-select:none}
.shelf-stage[data-room="attic"] .book{height:17%;width:25%}
.book:active{cursor:grabbing}
.book img{display:block;max-height:100%;max-width:100%;height:100%;width:auto;object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.book.spine img{width:100%;height:100%;object-fit:contain}
.book:hover{filter:drop-shadow(0 0 12px #ffcd76b6) drop-shadow(8px 7px 3px #210d0c80)}
.book.dragging{z-index:10;cursor:grabbing;filter:drop-shadow(0 10px 18px #100904b0) drop-shadow(0 0 12px #ffd68e)}
.book-badge{position:absolute;top:-18px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#20150ce6;color:#ffe3aa;border:1px solid #c9a060;border-radius:99px;padding:4px 8px;font:10px Arial,sans-serif;opacity:0;transition:opacity .15s}
.book:hover .book-badge,.book:focus-visible .book-badge{opacity:1}
.stage-glow{position:absolute;inset:0;box-shadow:inset 0 0 30px #2e0d0566;pointer-events:none}
.scene-panel{position:relative;max-width:280px;min-width:0;text-shadow:0 2px 5px #180b0d}
.eyebrow,.feature-topline,.feature-series{font:11px Arial,sans-serif;letter-spacing:.2em;color:#e6b973}
.intro-panel h1{font-size:clamp(32px,3.3vw,62px);line-height:1.03;font-weight:400;margin:22px 0;color:#fff1d4}
.intro-panel p:not(.eyebrow){font-size:16px;line-height:1.7;color:#dac9ae}
.gold-line{width:54px;height:2px;background:var(--gold);margin:25px 0}
.intro-panel .hint{font-size:12px!important;line-height:1.5!important;letter-spacing:.02em}
.hint span{font-size:22px;color:#e6bd79;vertical-align:middle}
.feature-panel{padding:24px 20px;background:linear-gradient(145deg,#342118d9,#21140dc7);border:1px solid #ba8d547a;border-radius:16px;box-shadow:0 16px 25px #10080350;justify-self:end;text-align:center}
.feature-topline{display:block;margin-bottom:15px}
.feature-cover{height:210px;min-height:0;display:grid;place-items:center;margin-bottom:14px;overflow:hidden}
.feature-cover img{height:auto;max-height:210px;max-width:100%;object-fit:contain;filter:drop-shadow(4px 8px 4px #100a0a)}
.feature-series{font-size:10px;letter-spacing:.12em}
.feature-panel h2{margin:6px 0 10px;font-size:31px;font-weight:400}
.feature-panel p:not(.feature-series){font:13px/1.55 Arial,sans-serif;color:#d4bfa3}
.gold-button,.action-primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 18px;background:linear-gradient(#f4d69f,#daa959);color:#392210;border:1px solid #ffdda3;border-radius:8px;font:700 13px Arial,sans-serif}
.gold-button{width:100%;margin-top:12px}
.site-footer{min-height:43px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px clamp(14px,3vw,60px);background:#1b110e;color:#b9a68a;font:11px Arial,sans-serif;letter-spacing:.02em}
.footer-actions{display:flex;gap:9px;align-items:center}
.footer-actions button{border:0;background:transparent;color:#dfbc80;padding:0}
.modal-backdrop{position:fixed;z-index:20;inset:0;background:#090908c9;display:grid;place-items:center;padding:14px;backdrop-filter:blur(8px)}
.modal-card{position:relative;max-height:min(92dvh,1000px);overflow-y:auto;width:min(920px,100%);background:linear-gradient(140deg,#2a1b19,#121c27);border:1px solid #b08b55;border-radius:18px;padding:clamp(20px,3vw,42px);box-shadow:0 25px 80px #050508ce}
.modal-card:before{content:"";position:absolute;inset:0;background-image:url('../images/cadre-auteur.webp');background-size:cover;background-position:center;opacity:.065;pointer-events:none}
.modal-card.variant-comic{background:linear-gradient(108deg,#08152245,#071321a8),url('../images/fond-fiche-bd.webp') center center/cover no-repeat;border-color:#c1a16d}
.modal-card.variant-comic:before{display:none}
.modal-card.variant-author:before{opacity:.15}
.modal-card.variant-profile:before{background-image:url('../images/cadre-profil.webp');opacity:.16}
.modal-card.variant-notifications{width:min(1060px,calc(100vw - 16px));max-height:95dvh;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow-x:hidden;overflow-y:auto}
.modal-card.variant-notifications:before{display:none}
.modal-card>*{position:relative}
.modal-close{position:sticky;z-index:3;top:0;float:right;margin:-12px -12px 0 10px;width:42px;height:42px;border:1px solid #b6a2a2;border-radius:50%;background:#15212d;color:#e5edf5;font-size:26px}
.modal-card h2{font-size:clamp(30px,4vw,44px);font-weight:400;margin:0 0 12px}
.modal-card h3{margin:23px 0 9px;color:#f3d29d;font-size:21px}
.modal-card p{line-height:1.6;color:#d7d2cf}
.modal-muted{font:12px Arial,sans-serif;letter-spacing:.14em;color:#dcb985;text-transform:uppercase}
.comic-dialog{display:grid;grid-template-columns:minmax(150px,270px) 1fr;gap:clamp(20px,3vw,40px);align-items:start}
.comic-dialog .dialog-cover{max-width:100%;max-height:370px;object-fit:contain;filter:drop-shadow(6px 12px 8px #0008)}
.dialog-actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}
.action-button,.chip-button,.modal-card select,.modal-card input{background:#29303a;color:#f0e8df;border:1px solid #6e7883;border-radius:8px;padding:11px 13px;font:13px Arial,sans-serif}
.dialog-actions .action-button,.dialog-actions .action-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.dialog-actions .svg-icon{width:17px;height:17px;color:currentColor}
.dialog-actions .action-primary .svg-icon{color:#463019}
.dialog-actions .action-button.active[data-action="favorite"] .svg-icon{fill:currentColor;color:#f7c6c6}
.action-button.active{border-color:#e6bb75;background:#564126;color:#ffe5af}
.action-button:focus-visible{outline-color:#f2ce78}
.author-link{display:flex;gap:10px;align-items:center;padding:9px 0;background:none;border:none;color:#dfc28c;text-align:left}
.author-link img{width:50px;height:50px;border-radius:50%;object-fit:cover}
.author-layout{display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center}
.author-layout img{width:100%;border-radius:50%;border:2px solid #92a7bf}
.album-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:14px}
.album-card{background:#15202b;color:#f6ebd6;border:1px solid #7d94aa;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center;font:11px Arial,sans-serif}
.album-card img{width:100%;height:140px;object-fit:contain}
.empty-slot{height:150px;border:1px dashed #6a7b8e;border-radius:8px;display:grid;place-items:center;color:#94a2af;font:12px Arial,sans-serif}
.profile-albums{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:10px 0 22px}
.profile-albums .album-card img{height:100px}
.profile-albums .empty-slot{height:145px}
.notification-list,.collection-list{display:grid;gap:9px;margin-top:18px}
.notification{display:grid;gap:5px;grid-template-columns:1fr auto;align-items:center;text-align:left;padding:15px;background:#1c2a36;border:1px solid #53687c;border-radius:10px;color:#e9eff5}
.notification.unread{border-color:#e2ba78;background:#2e3340}
.notification small{display:block;color:#acbdd2;font:11px Arial,sans-serif;margin-top:4px}
.volume-description,.volume-open{display:flex;align-items:center;gap:9px}
.volume-description>.svg-icon{width:24px;height:24px;color:#e7c48d}
.volume-open{white-space:nowrap}
.volume-open .svg-icon{width:14px;height:14px}
.notification .unread-dot{width:9px;height:9px;border-radius:50%;background:#e7bd72}
/* Le cadre doré reste entier et le texte se place dans ses trois rangées. */
.modal-card.variant-notifications #modalContent{width:100%}
.notification-art-stage{position:relative;width:100%;aspect-ratio:3/2;container-type:inline-size;isolation:isolate}
.notification-art-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
.modal-card.variant-notifications .modal-close{position:absolute;z-index:5;float:none;top:27.2%;right:4%;margin:0;width:7.4%;height:auto;aspect-ratio:1;border:0;background:transparent;color:transparent;box-shadow:none}
.modal-card.variant-notifications .modal-close .svg-icon{opacity:0}
.modal-card.variant-notifications .modal-close:hover{outline:2px solid #c48a31;outline-offset:0}
.notification-art-heading{position:absolute;z-index:2;left:21.5%;right:18%;top:30.5%;display:flex;justify-content:space-between;align-items:center;gap:12px;color:#53300b}
.modal-card.variant-notifications .notification-art-heading h2{margin:0;font-size:clamp(17px,2.7cqw,30px);font-weight:700;line-height:1.1;color:#4c2a0e;text-shadow:0 1px 0 #fff4cd}
.notification-art-heading button{background:transparent;color:#63421c;border:0;border-bottom:1px solid #96652d;padding:3px 1px;font:700 clamp(11px,1.42cqw,16px) Arial,sans-serif;white-space:nowrap}
.notification-art-heading button:hover{color:#241406;border-bottom-color:currentColor}
.notification-art-list{position:absolute;z-index:2;left:21.7%;right:8.4%;top:35%;height:55%;display:grid;grid-template-rows:repeat(3,minmax(0,1fr))}
.notification-art-item{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:0;padding:5px 3%;background:transparent;border:0;border-radius:10px;text-align:left;color:#42280d;transition:background .16s}
.notification-art-item:hover,.notification-art-item:focus-visible{background:#fff2c178}
.notification-art-item strong{display:block;font:700 clamp(15px,2.05cqw,22px)/1.25 Georgia,serif;color:#3b230d;text-shadow:0 1px 0 #fff6d3}
.notification-art-item small{display:block;max-height:55%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bd945a transparent;margin-top:5px;font:clamp(11px,1.5cqw,16px)/1.35 Arial,sans-serif;color:#53391c}
.notification-art-item.read strong,.notification-art-item.read small{opacity:.72}
.notification-art-bell{position:absolute;left:-10.3%;top:46%;transform:translate(-50%,-50%);width:9.2%;height:auto;max-height:78%;object-fit:contain;filter:drop-shadow(0 2px 1px #291806b0);pointer-events:none}
.modal-card.variant-notifications .notification-art-empty{align-self:center;margin:0;padding:0 3%;font:clamp(13px,1.7cqw,18px)/1.4 Georgia,serif;color:#4b2f13}
.notification-art-pagination{position:absolute;z-index:2;left:22%;right:9%;top:91.3%;display:flex;justify-content:center;align-items:center;gap:16px;color:#603a12;font:700 clamp(10px,1.3cqw,14px) Arial,sans-serif}
.notification-art-pagination button{border:0;background:transparent;color:#52300c;font:inherit;padding:2px 5px}
.notification-art-pagination button:hover{color:#1e0f03;text-decoration:underline}
@media(max-width:720px){.modal-card.variant-notifications{width:calc(100vw - 16px);max-height:92dvh;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain}.notification-art-stage{min-width:700px}.modal-card.variant-notifications .modal-close{position:sticky;z-index:8;float:right;top:6px;right:6px;margin:6px 6px -48px 0;width:40px;height:40px;aspect-ratio:auto;background:#533113eb;border:1px solid #d6a24b;color:#fff;border-radius:50%}.modal-card.variant-notifications .modal-close .svg-icon{opacity:1}}
.collection-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}
.collection-tabs button{padding:9px 13px;background:#222f3d;color:#cfdbed;border:1px solid #5b7087;border-radius:8px}
.collection-tabs button.active{background:#b98b4c;color:#1a1512;border-color:#ecd092}
.collection-item{display:flex;align-items:center;gap:14px;background:#182738;border-radius:9px;border:1px solid #5c6c80;padding:10px}
.collection-item img{width:55px;height:72px;object-fit:contain}
.collection-item>div{flex:1}
.collection-item strong{display:block;margin-bottom:5px}
.collection-item small{font:12px Arial,sans-serif;color:#becada}
.profile-hero{display:flex;gap:22px;align-items:center}
.profile-hero img{width:115px;height:115px;object-fit:cover;border-radius:50%;border:2px solid #9caec2}
.profile-hero label{display:block;font:12px Arial,sans-serif;color:#c8d1dd;margin:9px 0}
.profile-hero input{max-width:220px}
/* Les cadres de profil sont les véritables supports des données : chaque contrôle
   correspond à une zone de l'illustration (et non à un panneau superposé). */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.modal-card.variant-author,.modal-card.variant-profile{width:min(1360px,calc(100vw - 20px));max-height:95dvh;overflow-y:auto;overflow-x:hidden;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.modal-card.variant-author:before,.modal-card.variant-profile:before{display:none}
.modal-card.variant-author .modal-close,.modal-card.variant-profile .modal-close{position:absolute;z-index:6;float:none;margin:0;aspect-ratio:1;height:auto;border:0;background:transparent;color:transparent;font-size:0}
.modal-card.variant-author .modal-close{right:6.3%;top:5.5%;width:7%}
.modal-card.variant-profile .modal-close{right:2.7%;top:8.5%;width:5.7%}
.modal-card.variant-author .modal-close:hover,.modal-card.variant-profile .modal-close:hover{background:#a9caec22;box-shadow:0 0 0 2px #bad7ee9c}
.art-viewport{position:relative;width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.author-art-stage,.profile-art-stage{position:relative;width:100%;background-size:100% 100%;background-repeat:no-repeat;container-type:inline-size}
.author-art-stage{aspect-ratio:1536/1024}
.profile-art-stage{aspect-ratio:1672/941}
.author-art-portrait{position:absolute;left:7.1%;top:6.4%;width:27.6%;aspect-ratio:1;object-fit:cover;border-radius:50%;border:2px solid #8fb9d2}
.author-art-identity{position:absolute;left:35.3%;top:14%;width:57%;height:13.7%;overflow:hidden;padding:0 1.3%;background:linear-gradient(90deg,#050b14 0%,#050b14 75%,#050b1400 100%)}
.author-art-identity h2{margin:0;color:#f7f9ff;font-size:clamp(22px,3.45cqw,50px);line-height:1.15;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.author-art-identity p{margin:0;color:#a6c8e5;font-size:clamp(12px,1.85cqw,26px);line-height:1.2}
.author-art-bio{position:absolute;left:38.6%;top:34.4%;width:48.3%;height:14.4%;padding:0 1%;overflow-y:auto;overscroll-behavior:contain;color:#e3eaf4;font:clamp(12px,1.56cqw,20px)/1.35 Arial,sans-serif;scrollbar-color:#779cb8 #091827b0}
.author-art-works{position:absolute;left:11.5%;top:56.7%;width:78%;height:36.6%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.8%}
.author-art-slot{min-width:0;min-height:0;padding:3% 5% 1%;border:0;background:transparent;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:1%;font:clamp(10px,1.18cqw,17px) Georgia,serif}
.author-art-slot:not(.is-empty):hover,.author-art-slot:not(.is-empty):focus-visible{background:#b6dfff16;outline:2px solid #7abde1}
.author-art-slot img{height:83%;width:100%;object-fit:contain;filter:drop-shadow(0 4px 4px #000a)}
.author-art-slot span{width:100%;height:11%;display:grid;place-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e5f4ff;text-shadow:0 2px 3px #000}
.author-art-pager{position:absolute;right:9%;top:51%;display:flex;align-items:center;gap:8px;color:#d5e5f9;font:clamp(12px,1.25cqw,18px) Arial,sans-serif}
.author-art-pager button{background:#0a1b2cd9;border:1px solid #87a6bb;color:#edf7ff;border-radius:8px;padding:1px 9px;font-size:21px}
.profile-art-avatar{position:absolute;left:4.35%;top:14.1%;width:29.3%;aspect-ratio:1;object-fit:cover;border:3px solid #a5c5e7;border-radius:50%}
.profile-art-upload{position:absolute;left:28.7%;top:55.5%;width:5.3%;height:9.4%;display:grid;place-items:center;background:#061a2bd9;border:2px solid #9ec6e8;border-radius:50%;color:#e9f6ff;cursor:pointer;font-size:clamp(15px,2cqw,26px)}
.profile-art-upload:hover{background:#315b7d}
.modal-card .profile-art-name{position:absolute;left:6.1%;top:68%;width:21.4%;height:5.3%;background:transparent;border:0;border-radius:0;padding:0 1%;outline-offset:1px;color:#f4f7fb;font:clamp(14px,2.1cqw,30px) Georgia,serif}
.profile-art-stats{position:absolute;left:5.8%;top:79.5%;width:27.4%;height:7.5%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.2%}
.profile-art-stats button{border:0;background:transparent;color:#f6fbff;text-shadow:0 2px 4px #001125;font:700 clamp(12px,1.5cqw,21px) Arial,sans-serif;text-align:right;padding:0 12%;border-radius:7px}
.profile-art-stats button:hover,.profile-art-stats button:focus-visible{background:#e0f6ff20;outline:2px solid #b6d8f2}
.profile-art-covers{position:absolute;left:35.6%;top:17.5%;width:59.1%;height:67.3%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2.5% 1.2%}
.profile-art-slot{min-width:0;min-height:0;border:0;border-radius:5px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3% 6%;color:#e4f3ff;font:clamp(9px,1.1cqw,15px) Arial,sans-serif;text-align:center}
.profile-art-slot.has-comic:hover,.profile-art-slot.has-comic:focus-visible{background:#c2e4ff26;outline:2px solid #b5ddff}
.profile-art-slot img{width:100%;height:77%;object-fit:contain;filter:drop-shadow(1px 4px 5px #00152eaa)}
.profile-art-slot strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.profile-art-slot small{display:block;max-width:100%;font-size:clamp(8px,.85cqw,12px);color:#bbd5ee;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.profile-art-filter{position:absolute;left:5.8%;top:86.1%;width:18.5%;height:4%;display:flex;align-items:center}
.modal-card .profile-art-filter select{width:100%;min-width:0;padding:4px 5px;background:#081d2de0;border:1px solid #7bacca;color:#e8f5ff;font:clamp(10px,1.13cqw,16px) Arial,sans-serif}
.profile-art-pager{position:absolute;left:25.1%;top:86.1%;height:4%;width:8.3%;display:flex;align-items:center;justify-content:space-between;color:#e1f2ff;font:clamp(10px,1.1cqw,16px) Arial,sans-serif}
.profile-art-pager button{background:#081d2de0;border:1px solid #6f9bb9;color:#f0f9ff;border-radius:5px;min-width:22%;padding:0 3px;font-size:clamp(14px,1.7cqw,24px)}
@media(max-width:790px){.modal-backdrop{padding:8px}.modal-card.variant-author,.modal-card.variant-profile{width:calc(100vw - 16px);max-height:90dvh}.author-art-stage{min-width:760px}.profile-art-stage{min-width:820px}.modal-card.variant-author .modal-close,.modal-card.variant-profile .modal-close{position:sticky;float:right;top:5px;right:5px;margin:4px 6px -42px 0;width:38px;height:38px;aspect-ratio:auto;background:#081b2cf0;border:1px solid #b6d3e8;border-radius:50%;color:#fff;font-size:26px;line-height:1}.art-viewport{clear:both}.author-art-identity h2{font-size:27px}.author-art-bio{font-size:13px}.profile-art-slot strong{font-size:11px}}
.setting-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:10px 0}
.setting-row label{font:13px Arial,sans-serif;color:#d2d8df}
.setting-row select{max-width:none}
.toast{position:fixed;z-index:40;bottom:22px;left:50%;transform:translateX(-50%);background:#f1d39c;color:#342311;padding:10px 16px;border-radius:99px;box-shadow:0 12px 28px #0009;font:13px Arial,sans-serif}
.reader{position:fixed;z-index:30;inset:0;display:flex;flex-direction:column;background:#101014;color:#eee}
.reader-toolbar{flex:none;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#10141deb;border-bottom:1px solid #556078;flex-wrap:wrap}
.reader-title{min-width:135px;margin-right:auto;display:flex;flex-direction:column}
.reader-title strong{font-size:17px}.reader-title small{color:#9caabd;font:11px Arial,sans-serif}
.reader-field{display:flex;gap:7px;align-items:center;font:12px Arial,sans-serif;color:#b4c1d3}
.reader-field select{background:#202936;border-color:#5b6576;padding:9px;max-width:180px}
.reader-icon,.reader-nav{display:grid;place-items:center;flex:none;border:1px solid #667588;color:#fff;background:#253447;border-radius:9px;width:38px;height:38px;font:25px Arial,sans-serif}
.reader-icon .svg-icon,.reader-nav .svg-icon{width:23px;height:23px}
.reader-show-ui{display:inline-flex;align-items:center;gap:9px}
.assistant-star .svg-icon{width:31px;height:31px}
.assistant-header button .svg-icon,.assistant-form button .svg-icon{width:21px;height:21px}
.reader-canvas{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;touch-action:pan-y}
.reader-canvas img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 5px 20px #0007;user-select:none;-webkit-user-drag:none}
.reader-canvas.mode-double img{max-width:49%}
.reader-canvas.mode-vertical{display:block;text-align:center;scroll-behavior:smooth}
.reader-canvas.mode-vertical img{display:block;width:min(100%,950px);max-height:none;height:auto;margin:0 auto 8px}
.reader-canvas.mode-horizontal{justify-content:flex-start;align-items:stretch;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;touch-action:pan-x}
.reader-canvas.mode-horizontal img{height:100%;max-height:100%;width:auto;max-width:none;scroll-snap-align:center}
.reader-canvas.direction-rtl{direction:rtl}
.reader-bottom{flex:none;display:flex;gap:12px;justify-content:center;align-items:center;padding:9px;background:#121824d9;border-top:1px solid #536175}
.reader-bottom input{width:min(50vw,490px);accent-color:#e4bc81}
.reader-bottom span{font:12px Arial,sans-serif;min-width:70px}
.reader-nav{font-size:29px}
.reader.ui-hidden .reader-toolbar,.reader.ui-hidden .reader-bottom{display:none}
.reader-show-ui{position:absolute;z-index:2;right:15px;top:15px;color:#ffe7bc;background:#1c2632da;border:1px solid #9aabc3;border-radius:9px;padding:10px 15px}
.assistant-panel{position:fixed;z-index:26;right:14px;bottom:55px;width:min(390px,calc(100vw - 28px));height:min(560px,calc(100dvh - 85px));display:flex;flex-direction:column;border:1px solid #ceaa6a;border-radius:16px;background:#172334;box-shadow:0 20px 65px #050405c9;overflow:hidden;font-family:Arial,sans-serif}
.assistant-header{display:flex;align-items:center;gap:10px;padding:15px;background:linear-gradient(90deg,#4c3528,#192b3d);border-bottom:1px solid #8a7054}
.assistant-header div{flex:1}
.assistant-header strong{font:18px Georgia}
.assistant-header small{display:block;color:#c5c5c2;font:10px/1.4 Arial;margin-top:4px}
.assistant-header button{background:none;color:white;border:0;font-size:26px}
.assistant-star{font-size:30px;color:#e6bd7b}
.assistant-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:16px}
.chat-bubble{max-width:92%;padding:12px 14px;border-radius:14px;font:13px/1.55 Arial,sans-serif;white-space:pre-wrap}
.chat-bubble.bot{background:#31465e;align-self:flex-start}
.chat-bubble.user{background:#9f774b;color:#fff;align-self:flex-end}
.assistant-quick{display:flex;gap:6px;flex-wrap:wrap;padding:8px 12px}
.assistant-quick button{background:#243c51;color:#f2d7ae;border:1px solid #8b7054;padding:7px 9px;border-radius:99px;font:11px Arial,sans-serif}
.assistant-form{display:flex;border-top:1px solid #5e6875}
.assistant-form input{flex:1;min-width:0;color:white;background:#101b2b;border:0;padding:15px;outline:none}
.assistant-form button{border:0;background:#edc686;color:#182234;padding:0 17px;font-size:21px}
@media(max-width:1180px){.library-scene{grid-template-columns:minmax(140px,1fr) minmax(300px,560px);padding:15px}.feature-panel{display:none}.intro-panel{padding-left:10px}}
@media(max-width:750px){.topbar{height:auto;min-height:72px;padding:8px 10px;align-items:center}.brand-mark{width:35px;height:35px;font-size:27px}.brand{gap:7px}.brand strong{font-size:15px;letter-spacing:.14em}.brand small{font-size:9px}.toolbar{gap:6px}.theme-picker{position:absolute;z-index:4;top:78px;left:50%;transform:translateX(-50%);padding:6px 10px;border-radius:9px;background:#27170ed9;white-space:nowrap}.round-link{width:37px;height:37px}.attic-link{font-size:27px}.help-button{padding:8px 10px}.help-word{display:none}.library-scene{display:block;min-height:calc(100dvh - 114px);padding:46px 8px 14px}.intro-panel{display:none}.shelf-viewport{width:min(100%,540px);max-height:calc(100dvh - 178px);min-height:450px;margin:auto;border-radius:7px}.site-footer{padding:8px 10px;justify-content:center;flex-wrap:wrap;line-height:1.3}.footer-actions{display:none}.modal-card{padding:20px 15px}.comic-dialog{grid-template-columns:1fr;text-align:center}.comic-dialog .dialog-cover{height:225px}.comic-dialog .dialog-actions{justify-content:center}.comic-dialog .author-link{justify-content:center}.author-layout{grid-template-columns:105px 1fr;gap:15px}.profile-albums{grid-template-columns:repeat(3,minmax(0,1fr))}.reader-toolbar{gap:6px;padding:7px}.reader-title{min-width:100px;font-size:12px}.reader-field{font-size:0}.reader-field select{font-size:12px;max-width:115px;padding:8px 5px}.reader-icon{width:33px;height:33px}.reader-canvas{padding:2px}.reader-canvas.mode-double{flex-direction:column}.reader-canvas.mode-double img{max-width:100%;max-height:49%}.reader-bottom{gap:6px}.reader-bottom input{width:40vw}}
@media(max-width:390px){.round-link{width:32px;height:32px}.toolbar{gap:4px}.brand small{display:none}.theme-picker{top:67px}.library-scene{padding-top:48px}.shelf-viewport{max-height:calc(100dvh - 154px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
