* { margin:0; padding:0; box-sizing:border-box; font-family:"PingFang SC","Microsoft YaHei",sans-serif; }
html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body { background:#f7f8fc; color:#333; line-height:1.7; font-size:15px; }
.rainbow-bar { height:4px; background:linear-gradient(90deg,#2f80ed,#56ccf2,#6fcf97,#27ae60,#f2c94c,#eb5757); }

.site-header { background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.06); position:sticky; top:0; z-index:99; }
.nav-container { max-width:1180px; margin:0 auto; padding:0 16px; display:flex; flex-direction:column; }
.logo { text-align:center; padding:12px 0; font-size:20px; font-weight:700; color:#2f80ed; }
.main-nav ul { list-style:none; display:flex; flex-wrap:wrap; justify-content:center; gap:12px; padding-bottom:10px; }
.main-nav a { color:#555; text-decoration:none; font-size:14px; padding:6px 8px; min-height:32px; display:inline-flex; align-items:center; }
.main-nav a:hover,.main-nav a.active { color:#2f80ed; font-weight:600; }

.site-main { max-width:1180px; margin:20px auto; padding:0 16px; }
.card { background:#fff; border-radius:12px; padding:18px; margin-bottom:16px; box-shadow:0 2px 12px rgba(0,0,0,.05); }
.page-title { font-size:23px; color:#1f2937; margin-bottom:16px; padding-bottom:10px; border-bottom:1px solid #edf0f5; }
.card h2 { font-size:20px; margin:22px 0 14px; color:#1f2937; border-left:4px solid #2f80ed; padding-left:10px; }
.card h2:first-child { margin-top:0; }
.card h3 { font-size:17px; margin:16px 0 8px; color:#1f2937; }
.muted { color:#777; font-size:14px; }
p { color:#444; }

.breadcrumb { background:#fff; padding:10px 14px; border-radius:8px; margin-bottom:16px; font-size:13px; color:#888; overflow-x:auto; white-space:nowrap; }
.breadcrumb a { color:#2f80ed; text-decoration:none; }
.separator { margin:0 7px; color:#ccc; }
.current { color:#333; font-weight:600; }
.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; }

.slider-container { max-width:1180px; margin:16px auto 0; padding:0 16px; }
.slider { position:relative; height:230px; border-radius:12px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,.12); }
.slider-track { display:flex; height:100%; transition:transform .5s ease; }
.slide { min-width:100%; height:100%; position:relative; display:flex; align-items:center; justify-content:center; text-align:center; color:#fff; padding:20px; }
.slide img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.slide:nth-child(1) { background:linear-gradient(135deg,#1d4ed8,#38bdf8); }
.slide:nth-child(2) { background:linear-gradient(135deg,#7c3aed,#ec4899); }
.slide:nth-child(3) { background:linear-gradient(135deg,#059669,#34d399); }
.slide-content { position:relative; z-index:2; text-shadow:0 2px 8px rgba(0,0,0,.35); }
.slide-content h2 { font-size:23px; margin:0 0 8px; color:#fff; border:none; padding:0; }
.slide-content p { font-size:14px; color:#fff; opacity:.95; }
.slider-arrow { position:absolute; top:50%; transform:translateY(-50%); width:38px; height:38px; border:none; border-radius:50%; background:rgba(255,255,255,.25); color:#fff; font-size:20px; z-index:3; cursor:pointer; }
.arrow-prev { left:12px; } .arrow-next { right:12px; }
.slider-dots { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.dot { width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,.55); cursor:pointer; }
.dot.active { width:24px; border-radius:5px; background:#fff; }

.hero { background:linear-gradient(135deg,#2f80ed,#56ccf2); color:#fff; border-radius:12px; padding:28px 20px; margin:24px 0 20px; display:flex; flex-direction:column-reverse; gap:20px; text-align:center; }
.hero h1 { font-size:25px; margin-bottom:12px; }
.hero p { font-size:14px; line-height:1.9; text-align:left; margin-bottom:20px; opacity:.96; color:#fff; }
.hero-visual { background:rgba(255,255,255,.15); border-radius:16px; padding:16px; }
.hero-visual svg { width:190px; height:auto; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 22px; border-radius:7px; border:none; cursor:pointer; text-decoration:none; font-size:15px; }
.btn-primary { background:#fff; color:#2f80ed; font-weight:700; }
.btn-secondary { background:rgba(255,255,255,.18); color:#fff; border:1px solid rgba(255,255,255,.35); }
.btn-small { background:#2f80ed; color:#fff; padding:7px 14px; border-radius:6px; border:none; font-size:13px; cursor:pointer; min-height:32px; }

.section-title { text-align:center; font-size:22px; margin-bottom:6px; }
.section-subtitle { text-align:center; color:#888; font-size:14px; margin-bottom:20px; }
.grid-2 { display:grid; grid-template-columns:1fr; gap:14px; }
.grid-3 { display:grid; grid-template-columns:1fr; gap:14px; }
.grid-4 { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.stat { background:#fff; border-radius:10px; padding:20px 12px; text-align:center; box-shadow:0 2px 8px rgba(0,0,0,.04); }
.stat b { display:block; color:#2f80ed; font-size:23px; margin-bottom:4px; }
.stat span { color:#666; font-size:13px; }

.drama-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.drama-card { background:#fff; border-radius:12px; overflow:hidden; box-shadow:0 2px 12px rgba(0,0,0,.05); transition:.3s; }
.drama-card:hover { transform:translateY(-3px); box-shadow:0 10px 22px rgba(0,0,0,.09); }
.cover { aspect-ratio:16/9; position:relative; display:flex; align-items:center; justify-content:center; color:#fff; }
.cover::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35)); }
.cover-1 { background:linear-gradient(135deg,#2f80ed,#7c3aed); }
.cover-2 { background:linear-gradient(135deg,#ec4899,#f97316); }
.cover-3 { background:linear-gradient(135deg,#059669,#34d399); }
.cover-4 { background:linear-gradient(135deg,#06b6d4,#3b82f6); }
.cover-5 { background:linear-gradient(135deg,#f59e0b,#ef4444); }
.cover-6 { background:linear-gradient(135deg,#8b5cf6,#ec4899); }
.play { position:relative; z-index:2; width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.25); display:flex; align-items:center; justify-content:center; font-size:22px; padding-left:4px; }
.badge { position:absolute; left:12px; top:12px; z-index:2; font-size:12px; color:#fff; background:rgba(0,0,0,.45); padding:3px 8px; border-radius:5px; }
.drama-body { padding:16px; }
.drama-body h3 { font-size:17px; margin:0 0 5px; }
.meta { color:#999; font-size:12px; margin-bottom:8px; }
.desc { color:#666; font-size:14px; line-height:1.7; margin-bottom:12px; }
.tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:12px; }
.tags span { font-size:12px; color:#2f80ed; background:#eaf3ff; padding:3px 8px; border-radius:4px; }

.post-item { padding:14px 0; border-bottom:1px solid #eef1f5; }
.post-item:last-child { border-bottom:none; }
.post-item h3 { font-size:16px; margin-bottom:4px; }
.post-item p { font-size:14px; color:#666; }
.timeline { border-left:2px solid #dbeafe; padding-left:20px; margin:18px 0; }
.timeline-item { position:relative; margin-bottom:18px; }
.timeline-item::before { content:""; position:absolute; left:-26px; top:7px; width:10px; height:10px; border-radius:50%; background:#2f80ed; }
.timeline-date { color:#2f80ed; font-weight:700; font-size:14px; margin-bottom:4px; }
.timeline-content { color:#555; font-size:14px; }

.notice { background:#fff1f2; border-left:4px solid #f43f5e; color:#9f1239; padding:13px 15px; border-radius:5px; font-size:14px; margin:14px 0; line-height:1.8; }
.tip-box { background:#f0f9ff; border-left:4px solid #0ea5e9; color:#075985; padding:13px 15px; border-radius:5px; font-size:14px; margin:14px 0; line-height:1.8; }
.warning-box { background:#fffbeb; border-left:4px solid #f59e0b; color:#92400e; padding:13px 15px; border-radius:5px; font-size:14px; margin:14px 0; line-height:1.8; }
.safety-list { padding-left:20px; color:#555; font-size:14px; line-height:2; }
.inner-link { color:#2f80ed; text-decoration:none; border-bottom:1px dashed #9cc9ff; }
.inner-link:hover { border-bottom-style:solid; }

.form-row { margin-bottom:14px; }
.form-row label { display:block; font-size:14px; margin-bottom:6px; color:#374151; }
.form-row input,.form-row select,.form-row textarea { width:100%; border:1px solid #d1d5db; border-radius:7px; padding:10px 12px; font-size:14px; }
.form-row textarea { min-height:120px; resize:vertical; }

.faq-item { border:1px solid #e5e7eb; border-radius:8px; margin-bottom:10px; overflow:hidden; }
.faq-question { min-height:48px; padding:13px 16px; background:#fafafa; cursor:pointer; display:flex; justify-content:space-between; gap:12px; font-weight:600; font-size:14px; }
.faq-answer { padding:0 16px; max-height:0; overflow:hidden; color:#666; font-size:14px; transition:.3s; }
.faq-item.active .faq-answer { padding:14px 16px; max-height:520px; }

.site-footer { background:#1f2937; color:#b6c2d2; padding:32px 16px 22px; margin-top:42px; font-size:13px; }
.footer-container { max-width:1180px; margin:0 auto 22px; display:flex; flex-direction:column; gap:22px; text-align:center; }
.footer-block h4 { color:#fff; margin-bottom:10px; }
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 16px; }
.footer-links a { color:#b6c2d2; text-decoration:none; min-height:30px; display:inline-flex; align-items:center; }
.footer-links a:hover { color:#9cc9ff; }
.copyright { max-width:1180px; margin:0 auto; padding-top:18px; border-top:1px solid rgba(255,255,255,.1); text-align:center; line-height:1.8; }
.copyright p { color:#b6c2d2; }

@media (min-width:768px) {
  .nav-container { flex-direction:row; justify-content:space-between; height:64px; }
  .logo { padding:0; }
  .main-nav ul { padding:0; gap:20px; }
  .site-main { margin:30px auto; padding:0 20px; }
  .card { padding:24px; border-radius:14px; }
  .slider { height:420px; }
  .slide-content h2 { font-size:34px; }
  .slide-content p { font-size:17px; }
  .slider-arrow { width:46px; height:46px; font-size:22px; }
  .hero { flex-direction:row; align-items:center; text-align:left; padding:46px 40px; }
  .hero h1 { font-size:34px; }
  .hero p { font-size:15.5px; text-align:justify; }
  .grid-2 { grid-template-columns:repeat(2,1fr); }
  .grid-3 { grid-template-columns:repeat(3,1fr); }
  .grid-4 { grid-template-columns:repeat(4,1fr); }
  .drama-grid { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
  .footer-container { flex-direction:row; justify-content:space-around; text-align:left; }
  .footer-links { justify-content:flex-start; }
}
/* Retain the original short-drama layout; tighten spacing and repair controls. */
a{color:#2164ad;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}[hidden]{display:none!important}:focus-visible{outline:3px solid #2371c5;outline-offset:3px}html{scroll-padding-top:90px}section[id],article[id],.post-item[id]{scroll-margin-top:90px}.logo{text-decoration:none!important;white-space:nowrap}.rainbow-bar{height:3px}.nav-container{flex-direction:row;align-items:center;justify-content:space-between;gap:18px;min-height:68px}.main-nav ul{padding:0;gap:8px}.main-nav a{font-size:14px}.site-header{box-shadow:0 1px 0 #e4e9f0}.card,.drama-card{border:1px solid #e4e9f0;box-shadow:none;border-radius:6px}.card{padding:20px;margin-bottom:18px}.card h2{margin:16px 0 12px}.slider{height:auto;aspect-ratio:1920/500;border-radius:6px;box-shadow:none}.slide{justify-content:flex-start;text-align:left;padding:26px 60px}.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b203dd9,transparent 85%);z-index:1}.slide-content h2{font-size:29px}.slide-link{display:inline-block;color:white;margin-top:14px;border-bottom:1px solid #ffffff88}.slider-pause{position:absolute;top:12px;right:12px;z-index:3;border:1px solid #ffffff70;background:#12253cbb;color:white;padding:4px 9px;border-radius:3px;cursor:pointer;font-size:12px}.image-credit{position:absolute;bottom:10px;right:12px;z-index:2;color:#fff;font-size:10px}.dot{border:0;padding:0}.hero{margin:18px 0 22px;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;text-align:left;background:white;border:1px solid #e4e9f0;border-radius:6px;color:#26364a}.hero h1{font-size:25px;line-height:1.5;margin-bottom:10px}.hero p{color:#4d5968;font-size:14px;line-height:1.85;margin-bottom:10px}.hero .btn-primary{background:#286ab4;color:white}.hero .btn-secondary{background:#f0f5fb;border:1px solid #d5e1ee;color:#286ab4}.hero .btn{padding:7px 16px;min-height:36px;font-size:13px}.hero-visual{padding:0;background:none;overflow:hidden;border-radius:4px}.hero-visual img{display:block;width:100%;height:155px;object-fit:cover}.section-title{text-align:left;font-size:23px}.section-subtitle{text-align:left;margin-bottom:14px}.drama-grid{gap:18px;margin-bottom:22px}.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.drama-card:hover{transform:none;box-shadow:0 4px 15px #223f5712}.drama-body{padding:16px}.btn-small{display:inline-block;text-decoration:none}.home-notes{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.home-notes h2{grid-column:1/-1}.home-notes a{padding:10px 0;border-bottom:1px solid #eef1f5;font-size:14px}.stat{box-shadow:none;border:1px solid #e4e9f0;padding:14px}.stat b{font-size:21px}.site-footer{margin-top:24px;padding:25px 16px 16px}.footer-container{display:flex;flex-wrap:wrap;gap:22px 45px}.footer-block{flex:1;min-width:260px}.footer-block h2{font-size:14px;margin:0 0 10px}.footer-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 18px}.copyright{font-size:12px}.search-panel{margin:16px 0}.catalog-search{display:flex;align-items:center;gap:12px}.catalog-search input{flex:1;min-width:0;border:1px solid #c9d4e0;border-radius:4px;padding:9px 12px}.catalog-search button{padding:9px 18px;border:0;border-radius:4px;background:#286ab4;color:white}.search-panel>p{font-size:13px;color:#657383;margin-top:7px}.faq-item summary{cursor:pointer;list-style:disclosure-closed}.faq-item[open] summary{list-style:disclosure-open}.faq-item .visible-answer{display:block;max-height:none;padding:0 18px 18px}.faq-item:not([open]) .visible-answer{display:none}.cooperation-form button{cursor:pointer}.cooperation-form textarea{min-height:180px}
@media(min-width:800px){.drama-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.nav-container{flex-direction:column;gap:0;padding-bottom:9px}.logo{padding:10px 0 6px}.main-nav ul{gap:2px 5px}.main-nav a{font-size:13px;padding:5px}.hero{grid-template-columns:1fr;gap:12px;padding:18px}.hero h1{font-size:22px}.hero-visual{max-width:220px}.hero-visual img{height:124px}.slider{aspect-ratio:auto;height:235px}.slide{padding:25px 43px}.slide-content h2{font-size:24px}.slide-content p{font-size:13px;max-width:260px}.home-notes{grid-template-columns:1fr}.catalog-search{flex-wrap:wrap}.catalog-search label{width:100%}.footer-block{min-width:0;flex-basis:100%}.card{padding:16px}.site-header{position:relative}.drama-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.drama-body h3{font-size:16px}}
@media(max-width:520px){.drama-grid{grid-template-columns:1fr}.main-nav ul{justify-content:flex-start}.hero h1{font-size:21px}.slide-content h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Story text and editorial notes follow the original site grid. */
.story-reading{margin:13px 0;border-top:1px solid #e5ebf1;padding-top:10px}.story-reading summary{cursor:pointer;color:#2164ad;font-size:14px;padding:4px 0}.story-reading h4{font-size:15px;margin:14px 0 8px}.story-reading p{font-size:14px;line-height:1.9;margin:0 0 12px}.drama-grid{align-items:start}.scene-cover{background:#e8eef4;color:#335675;min-height:0}.scene-cover::after{background:linear-gradient(135deg,#d8e5ed44,#20487018)}.scene-location{font-size:24px;letter-spacing:3px;position:relative;z-index:2}.topic-filter{border:1px solid #d4e1ef;background:#fff;color:#315673;padding:6px 12px;border-radius:4px;cursor:pointer}.topic-filter[aria-pressed="true"]{background:#286ab4;border-color:#286ab4;color:white}.notes-toc{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:15px 0 20px;border-bottom:1px solid #e5ebf1}.notes-toc a{padding:8px 0;font-size:14px}.note-article{padding:25px 0;max-width:860px}.note-article h2{font-size:21px}.note-article p:not(.meta){font-size:15px;line-height:1.95;margin:12px 0}.note-article .meta{font-size:12px}.related-reading{font-size:13px;display:inline-block;margin-top:5px}.character-link{display:inline-block;margin-top:9px;font-size:13px}.scene-excerpt blockquote{border-left:3px solid #9ebad6;margin:15px 0;padding:10px 16px;background:#f5f8fb}.scene-excerpt blockquote p{margin:5px 0}.scene-excerpt>p{margin:10px 0}.site-directory{display:grid;grid-template-columns:130px minmax(0,1fr);gap:14px 22px;margin:20px 0 26px}.site-directory dt{font-weight:600}.site-directory dd{margin:0;color:#526171}.about-reading>p,.about-reading section p,.help-page p{line-height:1.95;margin:12px 0;max-width:880px}.help-page section{border-bottom:1px solid #e5ebf1;padding:12px 0 18px}.help-page section:last-child{border:0}.about-reading h2{margin-top:26px}.reading-paths a{font-weight:600}
@media(max-width:650px){.notes-toc{grid-template-columns:1fr;gap:0}.site-directory{grid-template-columns:1fr;gap:5px}.site-directory dd{margin-bottom:12px}.note-article h2{font-size:19px}.note-article p:not(.meta){font-size:14px}.topic-filter{font-size:13px}}
img{max-width:100%;height:auto}.logo{display:inline-block}.main-nav{min-width:0}.slider-track{width:100%}.slide{flex:0 0 100%;min-width:0}.cover .badge{max-width:calc(100% - 24px)}.drama-body .btn-small{white-space:normal}.notes-toc a,.story-reading p{overflow-wrap:anywhere}.footer-links a{white-space:nowrap}
