:root{--bg: #0c0e14;--bg-surface: #111318;--bg-header: #16181f;--bg-card: #1a1d26;--bg-footer: #0c0e14;--border: #2a2d3a;--fg: #eef0f4;--fg-muted: #8b90a0;--primary: #7c5cfc;--primary-gradient: linear-gradient(135deg, #7c5cfc 0%, #a78bfa 100%);font-family:system-ui,-apple-system,Noto Sans JP,Hiragino Sans,sans-serif;color:var(--fg);background:var(--bg-surface);line-height:1.7;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh}[hidden]{display:none!important}button,input{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.site-header{height:56px;display:flex;align-items:center;justify-content:center;background:var(--bg-header);border-bottom:1px solid var(--border);position:relative}.site-logo{display:flex;align-items:center;gap:10px}.site-logo img:first-child{width:26px;height:26px}.site-logo .logo-text{font-size:17px;font-weight:700;letter-spacing:.3px}.menu-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:flex;align-items:center;justify-content:center}.menu-btn svg{width:22px;height:22px;stroke:var(--fg-muted)}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;border:none;background:transparent;padding:0;max-width:100vw;max-height:100vh;width:100vw;height:100vh}.mobile-menu::backdrop{background:#000000b3}.mobile-menu-content{margin-left:auto;width:280px;max-width:80vw;background:var(--bg-card);color:var(--fg);padding:24px;height:100%;overflow-y:auto;border-left:1px solid var(--border)}.menu-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin-left:auto;margin-bottom:12px;font-size:18px;color:var(--fg-muted)}.mobile-menu-list{list-style:none;display:flex;flex-direction:column;gap:2px}.mobile-menu-list a{display:block;padding:14px 16px;font-size:15px;font-weight:700;border-radius:10px}.mobile-menu-list a:hover{background:#7c5cfc1a}.mode-nav{display:flex;justify-content:center;gap:0;padding:0 16px;background:var(--bg-header);position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border)}.mode-nav a,.mode-nav span{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:8px 20px;font-size:14px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent;color:var(--fg-muted);transition:color .15s}.mode-nav a:hover{color:var(--fg)}.mode-nav svg{width:15px;height:15px;flex-shrink:0}.mode-nav .active{border-bottom-color:var(--primary);color:var(--fg)}.hero{text-align:center;padding:24px 16px 4px}.hero h1{font-size:22px;font-weight:700;line-height:1.4}.hero p{font-size:13px;color:var(--fg-muted);margin-top:6px}.period-nav{display:flex;justify-content:center;gap:6px;margin:14px 0 18px}.period-nav a{padding:6px 18px;border:1px solid var(--border);border-radius:999px;background:transparent;font-size:13px;font-weight:600;color:var(--fg-muted);transition:all .15s}.period-nav a:hover{border-color:var(--primary);color:var(--fg)}.period-nav a.active{background:var(--primary);border-color:var(--primary);color:#fff}.tag-bar{display:flex;gap:6px;padding:0 16px 14px;overflow-x:auto;scrollbar-width:none;max-width:1200px;margin:0 auto}.tag-bar::-webkit-scrollbar{display:none}.tag-bar a{flex-shrink:0;padding:4px 12px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--fg-muted);transition:all .15s}.tag-bar a:first-child{color:var(--primary);border-color:var(--primary)}.tag-bar a:hover{border-color:var(--primary);color:var(--fg)}.tag-bar a.active{background:var(--primary);border-color:var(--primary);color:#fff}.masonry{max-width:1200px;margin:0 auto;padding:0 8px;columns:5;column-gap:6px}.masonry-card{position:relative;overflow:hidden;border-radius:10px;background:var(--bg-card);break-inside:avoid;margin-bottom:6px}.masonry-card .thumb-btn{display:block;width:100%;background:none;border:none;padding:0;cursor:pointer}.masonry-card .thumb{display:block;width:100%;background:#1a1d26;object-fit:cover}.masonry-card .rank-badge{position:absolute;top:8px;left:8px;padding:2px 8px;font-size:11px;font-weight:700;color:#fff;background:#0009;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.masonry-card .creator-badge{position:absolute;top:8px;right:8px;max-width:55%;padding:2px 8px;font-size:10px;font-weight:700;color:#fff;background:#0009;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.masonry-card .card-bottom{position:absolute;bottom:8px;left:8px;right:8px;display:flex;justify-content:space-between;align-items:flex-end}.masonry-card .save-btn{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;font-size:11px;font-weight:700;color:#fff;background:#0009;border-radius:6px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);line-height:1}.masonry-card .save-btn.saved{color:#fff;background:var(--primary)}.masonry-card .myfans-link{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--primary);font-size:13px;font-weight:800;color:#fff;flex-shrink:0}.load-more{display:flex;justify-content:center;padding:28px 16px}.load-more button{width:100%;max-width:360px;min-height:46px;font-size:15px;font-weight:700;color:#fff;background:var(--primary);border-radius:10px;transition:opacity .15s}.load-more button:hover{opacity:.9}.load-more button:disabled{opacity:.4;cursor:wait}.genre-section{max-width:1200px;margin:0 auto;padding:28px 16px;text-align:center}.genre-section h2{font-size:14px;font-weight:600;color:var(--fg-muted);margin-bottom:14px}.genre-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.genre-tags a{padding:4px 12px;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;color:var(--fg-muted);transition:all .15s}.genre-tags a:hover{border-color:var(--primary);color:var(--fg)}.genre-link{display:inline-block;margin-top:18px;color:var(--primary);font-size:13px;font-weight:700}.site-footer{background:var(--bg-footer);padding:36px 16px;text-align:center;margin-top:32px;border-top:1px solid var(--border)}.site-footer .disclaimer{font-size:11px;color:var(--fg-muted);line-height:1.8;max-width:700px;margin:0 auto 20px}.footer-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin-bottom:14px}.footer-links a{font-size:12px;color:var(--fg-muted)}.footer-links a:hover{color:var(--fg)}.site-footer .notice{font-size:11px;color:var(--fg-muted);margin-bottom:14px}.site-footer .copyright{font-size:11px;color:var(--fg-muted)}.status-text{font-size:13px;color:var(--fg-muted);text-align:center;padding:8px 16px}.video-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#000000d9;color:var(--fg)}.video-overlay-content{background:var(--bg-card);border-radius:14px;padding:16px;max-width:500px;width:calc(100vw - 32px);max-height:90vh;overflow-y:auto;border:1px solid var(--border)}.video-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;margin-bottom:8px;color:var(--fg-muted);border-radius:50%}.video-modal-close:hover{background:#ffffff14}.video-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff;background:#00000080;border-radius:8px;pointer-events:none}.video-fallback-link{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:8px 20px;background:var(--primary);color:#fff;font-size:14px;font-weight:700;border-radius:8px}.video-modal-info{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:0 4px}.video-modal-creator{font-size:14px;font-weight:700}.video-modal-likes{font-size:13px;color:var(--fg-muted)}.video-modal-cta{display:block;text-align:center;margin-top:12px;padding:12px;background:var(--primary);color:#fff;font-size:15px;font-weight:700;border-radius:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.masonry{columns:3}}@media(max-width:600px){.masonry{columns:2;column-gap:4px;padding:0 4px}.masonry-card{margin-bottom:4px}.hero h1{font-size:18px}}@media(min-width:768px){.hero h1{font-size:24px}}
