:root { color-scheme:dark; --bg:#272a31; --line:rgba(255,255,255,.14); --text:#f6f7fb; --muted:#bec3ce; --orange:#ff6c0f; --red:#ef3434; --blue:#55b8ff; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--text); background:var(--bg); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; }
.site-shell { width:min(1380px,calc(100% - 28px)); margin:auto; }
.banner { position:relative; height:295px; overflow:hidden; border-radius:0 0 14px 14px; background:#111; }
.banner-home { display:block; width:100%; height:100%; color:inherit; text-decoration:none; }
.banner img { width:100%; height:100%; display:block; object-fit:cover; }
.banner::after { display:none; }
.banner-copy { display:none; }
.banner-copy span { color:#ff8bb4; font-size:.8rem; font-weight:850; letter-spacing:.16em; }
.banner-copy h1 { margin:5px 0; font-size:clamp(2.3rem,5vw,4.5rem); }
.section-heading { min-height:62px; padding:0 28px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:#2b2e35; font-size:.9rem; }
.section-heading a { color:#c8cbd4; }
.request-layout { display:block; padding:32px 28px 0; }
.request-content { width:min(1120px,100%); min-width:0; margin:0 auto; }
.request-hero { margin:0 0 38px; overflow:hidden; border:1px solid rgba(174,109,255,.42); border-radius:14px; background:#110b1e; box-shadow:0 18px 48px rgba(39,12,75,.28); }
.request-hero img { width:100%; height:auto; display:block; }
.intro { text-align:center; font-size:1.15rem; }
.request-content>h1 { margin:12px 0 26px; text-align:center; font-size:clamp(1.8rem,4vw,2.5rem); }
.request-content>h1 span { color:var(--orange); }
.rules { margin:0; padding-left:28px; font-size:1.05rem; line-height:1.58; }
.rules li { margin-bottom:16px; padding-left:4px; }
.rules strong { color:var(--orange); }
.support-note { margin:32px 0; padding:20px; border-block:1px solid rgba(255,255,255,.55); color:var(--orange); text-align:center; font-weight:800; }
.dmca-callout { padding:26px; border-bottom:1px solid var(--line); text-align:center; }
.dmca-callout h2 { margin:0 0 12px; color:var(--orange); font-size:1.65rem; }
.dmca-callout p { color:var(--muted); }
.dmca-callout a { color:#5ebcff; text-decoration:underline; }
.coming-soon { margin:34px 0 10px; padding:28px; border:1px dashed rgba(255,255,255,.23); border-radius:12px; text-align:center; background:rgba(18,20,25,.28); }
.coming-soon span { color:var(--orange); font-size:.75rem; font-weight:900; letter-spacing:.15em; }
.coming-soon h2 { margin:7px 0; }
.coming-soon p { color:var(--muted); }
.request-sidebar { min-width:0; }
.side-search,.side-block { padding:16px 0 20px; border-bottom:1px solid var(--line); }
.side-search label,.side-block h2 { display:block; margin:0 0 9px; font-size:.9rem; font-weight:800; }
.side-search div { display:flex; }
.side-search input { width:100%; min-width:0; padding:10px; border:0; border-radius:5px 0 0 5px; color:#222; background:#fff; }
.side-search button { padding:0 12px; border:0; border-radius:0 5px 5px 0; color:#fff; background:#478fc0; }
.category-list,.tag-list { display:flex; flex-wrap:wrap; gap:7px 12px; }
.category-list a,.tag-list span { color:#eceef3; font-size:.78rem; white-space:nowrap; }
.category-list a:hover { color:#fff; }
.important p { color:#d7dae2; font-size:.86rem; line-height:1.5; }
.footer { min-height:92px; margin-top:54px; padding:18px max(20px,calc((100% - 1330px)/2)); display:flex; align-items:center; justify-content:space-between; gap:20px; color:#aeb3c0; background:#30333a; }
.footer>a { width:44px; height:34px; display:grid; place-items:center; border-radius:6px; color:#555b67; background:#fff; }
@media(max-width:900px) { .request-content { padding-right:0; border-right:0; } }
@media(max-width:600px) { .site-shell { width:100%; } .banner { height:210px; border-radius:0; } .section-heading { padding:0 16px; } .request-layout { padding:24px 14px 0; } .request-hero { margin-bottom:28px; border-radius:10px; } .rules { font-size:.98rem; } .footer { flex-direction:column; text-align:center; } }

/* EmiruPlay banner: keep the complete artwork visible at every viewport size. */
.banner { background:#0c0d13; }
.banner img { object-fit:cover; transform:none; }

@media (max-width:720px) {
  .banner { height:auto !important; min-height:0 !important; aspect-ratio:1380 / 295; border-radius:0; }
  .banner img { width:100%; height:100% !important; min-height:0 !important; object-fit:contain; transform:none; }
}
