:root{--public-blue:#1769e8;--public-blue-soft:#eef6ff;--public-line:#dce8f5;--public-ink:#172033;--public-muted:#667085}
/* Give desktop HOME more room without changing tablet/mobile breakpoints. */
@media(min-width:1280px){
    .public-home-v2 .shell{width:min(1400px,calc(100% - 64px))}
    .public-home-v2 .site-header,.public-home-v2 .site-footer{padding-inline:max(32px,calc((100% - 1400px)/2))}
}
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
body{background:#f5f9fe;color:var(--public-ink)}
.site-header{background:rgba(255,255,255,.96);border-color:var(--public-line)}
.header-adult-entry{border:1px solid #f3b6ca!important;background:#fff7fa!important;color:#d6366c!important}
.public-home-v2{padding:1rem 0 2rem}.public-portal{display:grid;grid-template-columns:190px minmax(0,1fr);gap:1rem;align-items:start}
.public-sidebar{position:sticky;top:84px;background:#fff;border:1px solid var(--public-line);border-radius:14px;padding:.7rem;box-shadow:0 8px 24px rgba(38,82,128,.06)}
.public-sidebar nav{display:grid;gap:.18rem}.public-sidebar a{display:flex;align-items:center;gap:.6rem;padding:.62rem .7rem;border-radius:9px;color:#344054;font-size:.88rem;font-weight:650}.public-sidebar a:hover,.public-sidebar a.active{background:var(--public-blue-soft);color:var(--public-blue)}
.public-sidebar-divider{height:1px;background:var(--public-line);margin:.65rem 0}.public-sidebar-label{padding:.25rem .7rem;color:#98a2b3;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.public-sidebar .r18-link{margin-top:.5rem;border:1px solid #f4bfd0;background:#fff8fa;color:#d63368}
.public-content{min-width:0}.public-home-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem;align-items:start}.public-main,.public-rail{display:grid;gap:1rem;min-width:0}
.public-hero{position:relative;min-height:265px;overflow:hidden;border-radius:16px;border:1px solid var(--public-line);background:#dceeff}.public-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%}.public-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(245,250,255,.97) 0%,rgba(245,250,255,.78) 36%,rgba(245,250,255,.08) 70%)}.public-hero-content{position:relative;z-index:1;padding:3.2rem 2.2rem;max-width:520px}.public-hero h1{margin:0 0 1.45rem;font-size:clamp(2rem,4vw,3.25rem);line-height:1;letter-spacing:-.035em}.public-hero-actions{display:flex;gap:.7rem;flex-wrap:wrap}.public-primary,.public-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:9px;font-weight:800}.public-primary{background:var(--public-blue);color:#fff;box-shadow:0 6px 14px rgba(23,105,232,.22)}.public-secondary{background:rgba(255,255,255,.94);border:1px solid #f1abc3;color:#d63368}
.public-panel{background:#fff;border:1px solid var(--public-line);border-radius:14px;padding:1rem}.public-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.public-section-head h2{margin:0;font-size:1.03rem}.public-section-head a{font-size:.8rem;color:var(--public-blue);font-weight:750}.public-empty{margin:.4rem 0;color:var(--public-muted);font-size:.9rem}
.public-character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.public-character-grid .character-visual-card{min-width:0}.public-character-grid .character-visual-media{aspect-ratio:4/3}.public-character-grid .character-visual-body{padding:.65rem}.public-character-grid .character-visual-body h2,.public-character-grid .character-visual-body h3{font-size:.92rem}.public-character-grid .character-visual-meta{font-size:.74rem}
.public-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.public-work-card{display:block;overflow:hidden;border:1px solid var(--public-line);border-radius:10px;background:#fff}.public-work-card img{width:100%;height:78px;object-fit:cover;display:block;background:var(--public-blue-soft)}.public-work-card>div{padding:.6rem}.public-work-card strong,.public-work-card small{display:block}.public-work-card strong{font-size:.88rem}.public-work-card small{margin-top:.2rem;color:var(--public-muted);font-size:.72rem}
.public-app-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.public-app-card{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:.7rem;align-items:center;border:1px solid var(--public-line);border-radius:10px;padding:.7rem}.public-app-card img{width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--public-blue-soft)}.public-app-card h3{font-size:.88rem;margin:0 0 .18rem}.public-app-card p{font-size:.73rem;line-height:1.45;color:var(--public-muted);margin:0}.public-app-card span{font-size:.75rem;color:var(--public-blue);font-weight:800}
.public-news-list{display:grid;gap:.1rem}.public-news-row{display:grid;grid-template-columns:70px 78px minmax(0,1fr);gap:.5rem;align-items:center;padding:.62rem 0;border-bottom:1px solid #edf2f7}.public-news-row:last-child{border-bottom:0}.public-news-row time{font-size:.72rem;color:var(--public-muted)}.public-news-row span{background:var(--public-blue-soft);color:var(--public-blue);border-radius:999px;padding:.2rem .35rem;text-align:center;font-size:.65rem;font-weight:800}.public-news-row a{font-size:.8rem;font-weight:650;overflow-wrap:anywhere}
.public-social-list{display:grid;gap:.55rem}.public-social-link{display:flex;align-items:center;justify-content:space-between;border-radius:9px;padding:.75rem .8rem;color:#fff;font-weight:800}.public-social-link.x{background:#111827}.public-social-link.pixiv{background:#1686ee}.public-social-link.discord{background:#5865f2}
@media(max-width:1180px){.public-character-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.public-portal{grid-template-columns:1fr}.public-sidebar{display:none}.public-home-columns{grid-template-columns:1fr}.public-rail{grid-template-columns:repeat(2,minmax(0,1fr))}.public-rail .public-panel:first-child:last-child{grid-column:1/-1}}
@media(max-width:700px){.public-home-v2{padding-top:.55rem}.public-home-columns,.public-main{gap:.7rem}.public-hero{min-height:220px}.public-hero-content{padding:2.4rem 1.15rem}.public-hero:after{background:linear-gradient(90deg,rgba(247,251,255,.96),rgba(247,251,255,.62) 60%,rgba(247,251,255,.18))}.public-character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.public-work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-app-list,.public-rail{grid-template-columns:1fr}.public-panel{padding:.8rem}.public-news-row{grid-template-columns:62px 68px minmax(0,1fr)}.public-app-card{grid-template-columns:42px minmax(0,1fr) auto}.public-app-card img{width:42px;height:42px}}
@media(max-width:420px){.public-hero h1{font-size:2rem}.public-hero-actions{gap:.45rem}.public-primary,.public-secondary{padding:.65rem .75rem;font-size:.82rem}.public-character-grid .character-visual-body{padding:.5rem}.public-work-card img{height:64px}}

/* Public home component aliases */
.public-home-main{min-width:0}.public-home-primary,.public-home-aside{display:grid;gap:1rem;min-width:0}.public-hero-content>div{display:flex;gap:.7rem;flex-wrap:wrap}.public-primary-button,.public-adult-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;border-radius:9px;font-weight:800;cursor:pointer}.public-primary-button{background:var(--public-blue);color:#fff;border:0;box-shadow:0 6px 14px rgba(23,105,232,.22)}.public-adult-button{background:rgba(255,255,255,.94);border:1px solid #f1abc3;color:#d63368}
.public-section,.public-side-card{background:#fff;border:1px solid var(--public-line);border-radius:14px;padding:1rem}.public-section>header,.public-side-card>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.public-section>header h2,.public-side-card>header h2{margin:0;font-size:1.03rem}.public-section>header a,.public-side-card>header a{font-size:.8rem;color:var(--public-blue);font-weight:750}
.public-work-grid>a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.55rem;border:1px solid var(--public-line);border-radius:10px;background:#fff;padding:.5rem}.public-work-visual{display:grid;place-items:center;width:52px;height:48px;border-radius:8px;background:var(--public-blue-soft);color:var(--public-blue);font-weight:900}.public-work-grid>a strong,.public-work-grid>a small{display:block}.public-work-grid>a strong{font-size:.82rem}.public-work-grid>a small{margin-top:.2rem;color:var(--public-muted);font-size:.68rem}
.public-app-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.public-app-grid article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:.7rem;align-items:center;border:1px solid var(--public-line);border-radius:10px;padding:.7rem}.public-app-grid img,.public-app-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:10px;object-fit:cover;background:var(--public-blue-soft);color:var(--public-blue);font-weight:900}.public-app-grid strong{font-size:.88rem}.public-app-grid p{font-size:.73rem;line-height:1.45;color:var(--public-muted);margin:.12rem 0}.public-app-grid small{display:block;color:var(--public-muted);font-size:.68rem}.public-app-grid article>a{font-size:.75rem;color:var(--public-blue);font-weight:800}
.public-news-list>a{display:grid;grid-template-columns:70px 78px minmax(0,1fr);gap:.5rem;align-items:center;padding:.62rem 0;border-bottom:1px solid #edf2f7}.public-news-list>a:last-child{border-bottom:0}.public-news-list time{font-size:.72rem;color:var(--public-muted)}.public-news-list span{background:var(--public-blue-soft);color:var(--public-blue);border-radius:999px;padding:.2rem .35rem;text-align:center;font-size:.65rem;font-weight:800}.public-news-list strong{font-size:.8rem;overflow-wrap:anywhere}
.public-social-links{display:grid;gap:.55rem}.public-social-links a{display:flex;align-items:center;gap:.65rem;border-radius:9px;padding:.75rem .8rem;color:#fff;font-weight:800}.public-social-links i{margin-left:auto}.social-x{background:#111827}.social-pixiv{background:#1686ee}.social-discord{background:#5865f2}.sidebar-divider{height:1px;background:var(--public-line);margin:.6rem}.public-quick-links{margin-top:.6rem}.public-quick-links small{padding:.3rem .7rem;color:#98a2b3;font-size:.65rem;font-weight:800}.sidebar-adult-link{display:flex;width:100%;justify-content:space-between;margin-top:.7rem;border:1px solid #f4bfd0;border-radius:9px;background:#fff8fa;color:#d63368;padding:.65rem .7rem;font-weight:800;cursor:pointer}
@media(max-width:980px){.public-home-aside{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.public-home-primary{gap:.7rem}.public-app-grid,.public-home-aside{grid-template-columns:1fr}.public-section,.public-side-card{padding:.8rem}.public-news-list>a{grid-template-columns:62px 68px minmax(0,1fr)}.public-app-grid article{grid-template-columns:42px minmax(0,1fr);align-items:start}.public-app-grid article>a{grid-column:2}.public-app-grid img,.public-app-icon{width:42px;height:42px}}
@media(max-width:420px){.public-news-list>a{grid-template-columns:58px minmax(0,1fr)}.public-news-list>a strong{grid-column:1/-1}.public-app-grid article,.public-work-grid>a{overflow-wrap:anywhere}}
