@import "https://unpkg.com/ress@5.0.2/dist/ress.min.css";
@import "https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap";
@import "https://fonts.googleapis.com/css2?family=Hachi+Maru+Pop&display=swap";
body.modal-open{width:100%;height:100vh;position:fixed;overflow:hidden}.illust-gallery{text-align:center;margin-top:30px;padding:40px 20px}.illust-gallery h1{letter-spacing:.7rem;margin-bottom:30px;font-family:Kosugi Maru,cursive;font-size:2.2rem;font-weight:700}.gallery{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:24px;display:grid}.illust-thumb-wrapper{aspect-ratio:1;cursor:pointer;border-radius:8px;width:100%;transition:transform .2s;position:relative;overflow:hidden}.illust-thumb-wrapper:hover{transform:scale(1.05)}.illust-thumb-wrapper img{object-fit:cover;width:100%;height:100%;display:block}.illust-thumbnail{cursor:pointer;object-fit:cover;border-radius:8px;width:100%;height:160px;transition:transform .2s;display:block}.illust-thumbnail:hover{transform:scale(1.05)}.new-badge{color:#fff;letter-spacing:.05em;z-index:2;pointer-events:none;background:linear-gradient(145deg,#ff6b6b,#ff8787);border-radius:999px;padding:4px 8px;font-size:.7rem;font-weight:700;position:absolute;top:8px;left:8px;box-shadow:0 2px 6px #00000040}.illust-modal{z-index:9999;background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.illust-modal img{border-radius:12px;max-width:90%;max-height:90%}.illust-modal-content{flex-direction:column;align-items:center;gap:14px;max-width:min(920px,92vw);max-height:90vh;display:flex;position:relative}.illust-modal-content img{border-radius:12px;flex:none;max-width:100%;max-height:62vh}.illust-comment{text-align:left;overscroll-behavior:contain;background:#ffffffeb;border-radius:14px;width:100%;max-height:20vh;padding:14px 16px;font-size:.95rem;line-height:1.7;overflow-y:auto;box-shadow:0 6px 20px #00000040}.illust-comment-title{text-align:center;letter-spacing:.15em;opacity:.85;margin-bottom:8px;font-weight:700}body.modal-open{overflow:hidden}.scroll-to-top{cursor:pointer;opacity:.9;z-index:1000;background:linear-gradient(145deg,#fff7c2,#ffd966);border:2px solid #fc0;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:all .3s;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 4px 8px #0003}.scroll-to-top:hover{opacity:1;transform:translateY(-5px)scale(1.05);box-shadow:0 6px 12px #0000004d}.scroll-icon{color:#333;width:28px;height:28px}@media (max-width:600px){.illust-gallery{padding:24px 12px}.illust-gallery h1{margin-top:30px;margin-bottom:20px;font-size:1.8rem}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.illust-thumbnail{height:120px}.illust-modal img{max-width:95%;max-height:80%}.illust-modal-content img{max-height:55vh}.illust-comment{white-space:pre-line;max-height:26vh;padding:12px 14px;font-size:.9rem}.illust-comment-title{opacity:.8;margin-bottom:6px;font-weight:700}.new-badge{padding:3px 6px;font-size:.6rem;top:6px;left:6px}.scroll-to-top{width:50px;height:50px;bottom:15px;right:15px}.scroll-icon{width:24px;height:24px}}
