/* 樱雨月台 · 响应式视觉系统 */
:root{--background:#F5F4F1;--paper:#FFFEFA;--surface:#fff;--night:#182238;--night-deep:#10192B;--night-light:#293750;--sakura:#D95D78;--sakura-deep:#AF3857;--cyan:#347E88;--gold:#B58B46;--violet:#77658F;--title:#253044;--body:#475366;--muted:#667487;--border:#DBE3E7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--body);font:16px/1.75 system-ui,-apple-system,'Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}button,input,select{font:inherit}button{cursor:pointer}img{display:block;max-width:100%}.container{width:min(1360px,calc(100% - 64px));margin-inline:auto}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.3;color:var(--title)}p{max-width:75ch}.site-header{background:var(--night);color:#f7f8fa;position:relative;z-index:30}.header-inner{height:76px;display:flex;align-items:center;gap:38px}.brand{display:flex;align-items:center;gap:11px;flex:none;font-weight:800;font-size:21px;line-height:1.2}.brand small{display:block;color:#c0cbd8;font-size:9px;letter-spacing:2px;margin-top:5px}.brand-mark{color:var(--sakura);font-size:38px}.desktop-nav{display:flex;align-items:center;gap:24px;margin-left:auto;white-space:nowrap}.desktop-nav a{font-size:14px;color:#e6eaf1}.desktop-nav a:hover,.desktop-nav [aria-current]{color:#ffadc0}.header-actions{display:flex;align-items:center;gap:10px}.header-actions form{display:flex;align-items:center;background:#2b3750;border-radius:30px;padding:1px 5px 1px 15px}.header-actions input{width:150px;background:transparent;border:0;color:#fff;outline:0;font-size:13px}.header-actions input::placeholder{color:#c2cbd7}.header-actions form button{background:none;border:0;color:#fff;font-size:26px}.menu-toggle{display:none;background:none;border:0;color:white;font-size:26px}.menu-overlay{position:fixed;inset:0;background:#0b1421bb;z-index:40}.mobile-menu{position:fixed;z-index:41;top:0;right:0;bottom:0;width:min(320px,85vw);background:var(--night);color:#fff;padding:60px 30px;box-shadow:-10px 0 50px #0005}.mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid #ffffff25}.mobile-menu button{position:absolute;right:25px;top:15px;color:#fff;background:none;border:0;font-size:32px}[hidden]{display:none!important}body.menu-open{overflow:hidden}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:430px;background:var(--night);color:#fff;border-radius:0 0 22px 22px;overflow:hidden}.hero-copy{padding:62px 30px 48px 54px;position:relative;z-index:1}.eyebrow,.section-title>span{display:inline-block;font-size:12px;letter-spacing:2px;font-weight:800;color:var(--sakura-deep);margin-bottom:18px}.hero .eyebrow,.end-frame .eyebrow,.timetable-band .eyebrow{color:#ffb1c3}.hero h1{color:#fff;font-size:clamp(30px,3vw,44px);line-height:1.36}.hero p{color:#d8e0e9;max-width:540px}.hero-note{font-size:12px;margin-top:22px}.hero-art{position:relative;min-height:380px;background:radial-gradient(circle at 55% 40%,#52657d,#27344d 55%,#162138);display:flex;align-items:center;justify-content:center}.hero-img{width:100%;height:100%;object-fit:contain}.hero-tag{position:absolute;right:25px;bottom:20px;color:#f9d6e1;font-size:10px;letter-spacing:2px}.missing{display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;background:linear-gradient(145deg,#26364f,#637087);color:#fff;font-weight:700;letter-spacing:1px}.hero-img.missing{font-size:29px;background:radial-gradient(ellipse at 50% 45%,#425874,#162238 65%)}.section{padding-block:70px}.section-title{margin-bottom:26px}.section-title h2{font-size:28px;margin-bottom:6px}.section-title p{margin:0}.station-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.station{min-height:148px;background:var(--paper);padding:20px;border:1px solid var(--border);border-top:4px solid var(--accent);border-radius:12px;display:flex;flex-direction:column;gap:8px;transition:transform .2s}.station:hover,.anime-card:hover,.collection-entry:hover{transform:translateY(-3px)}.station span{font-size:14px;color:var(--muted)}.station strong{font-size:20px;color:var(--title)}.station small{color:var(--muted);line-height:1.5}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.anime-card{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.anime-card:hover{box-shadow:0 14px 35px #14223814}.poster{width:100%;aspect-ratio:2/3;object-fit:contain;background:#e7eaf0}.poster.missing{font-size:24px;line-height:1.5;background:linear-gradient(145deg,#283c54,#6d7c91)}.card-content{padding:18px;display:flex;flex-direction:column;gap:8px}.card-content b{font-size:19px;color:var(--title)}.card-content small{font-size:12px;color:var(--sakura-deep)}.card-content>span{font-size:14px;line-height:1.65}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:9px;border:1px solid var(--border);min-height:44px;font-weight:700;font-size:14px}.btn.primary{background:var(--sakura-deep);color:#fff;border-color:var(--sakura-deep)}.btn.ghost{background:transparent;color:inherit;border-color:currentColor}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.timetable-band,.end-frame{background:var(--night);color:#e8eaf0;padding:70px 0}.timetable-band h2,.end-frame h2{color:#fff;font-size:34px}.timetable-band p,.end-frame p{max-width:650px}.thematic{display:grid;grid-template-columns:1fr 1.45fr;align-items:center;gap:48px;border-bottom:1px solid var(--border)}.thematic.reverse{grid-template-columns:1.45fr 1fr}.thematic.reverse .thematic-intro{order:2}.thematic h2{font-size:32px}.two-feature{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two-feature .anime-card{display:grid;grid-template-columns:42% 58%;align-items:stretch}.two-feature .poster{height:100%;aspect-ratio:auto;object-fit:contain}.two-feature .card-content{padding:16px}.two-feature .card-content b{font-size:16px}.two-feature .card-content>span{font-size:12px}.text-link{color:var(--sakura-deep);font-weight:700}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.world-grid article{padding:26px;background:#fff;border-radius:14px;border-left:3px solid var(--cyan)}.world-grid h3{font-size:20px}.world-grid small,.world-grid a{display:block;margin-top:12px}.world-grid a{color:var(--sakura-deep);font-weight:700}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.collection-tile{background:linear-gradient(130deg,#283a53,#45516c);border-radius:17px;padding:32px;min-height:240px;color:#fff}.collection-tile:nth-child(2){background:linear-gradient(130deg,#4b344b,#765c72)}.collection-tile:nth-child(3){background:linear-gradient(130deg,#254a57,#476b74)}.collection-tile small{letter-spacing:2px;color:#f7d4e0}.collection-tile h3{color:#fff;font-size:25px;margin-top:20px}.collection-tile span{font-weight:700}.footer{background:#10192b;color:#d9e2ee;padding:50px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px}.footer strong{font-size:22px;color:#fff}.footer small{color:#bdc7d5}.footer-grid>div:last-child{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 30px}.bottom-nav{display:none}.page-lead{margin-bottom:40px}.page-lead h1{font-size:clamp(30px,4vw,44px)}.page-lead p{font-size:17px}.catalog-channels{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:25px}.chip{background:white;border:1px solid var(--border);border-radius:24px;padding:8px 16px;font-size:14px}.chip.selected{background:var(--night);color:#fff}.filters{display:flex;flex-wrap:wrap;gap:10px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:18px}.filters input,.filters select{padding:10px;min-height:44px;border:1px solid var(--border);border-radius:8px;max-width:100%}.filters input{flex:2;min-width:200px}.filters select{flex:1;min-width:130px}.result-bar{margin:30px 0 20px}.result-bar h2{font-size:24px}.result-bar small{font-size:14px;color:var(--muted)}.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.pagination{display:flex;gap:10px;justify-content:center;margin-top:30px}.pagination a{min-width:42px;text-align:center;background:white;border:1px solid var(--border);padding:6px;border-radius:8px}.pagination a[aria-current]{background:var(--night);color:white}.empty-state{background:#fff;border:1px dashed #aab7c6;border-radius:16px;padding:44px;text-align:center}.empty-state p{margin-left:auto;margin-right:auto}.anime-hero{background:var(--night);color:#fff;padding:60px 0}.detail-top{display:grid;grid-template-columns:260px 1fr;gap:50px;align-items:center}.detail-poster .poster{border-radius:12px;overflow:hidden}.detail-main h1{color:#fff;font-size:40px}.detail-main .lead{font-size:18px;color:#e0e7f0;max-width:780px}.detail-main small{display:block;margin-top:20px;color:#cdd6e2}.tags{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:25px}.tags span{border-radius:30px;padding:5px 13px;background:#32435a;font-size:13px}.detail-body{max-width:1100px}.anchor-nav{display:flex;flex-wrap:wrap;gap:22px;padding:22px 0;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--background);z-index:5;font-size:14px}.detail-section{padding:50px 0;border-bottom:1px solid var(--border);scroll-margin-top:65px}.detail-section h2{font-size:26px}.detail-section>p{font-size:17px;line-height:1.9}.story-note{margin-top:25px;background:#e8eef2;border-left:4px solid var(--cyan);padding:22px 28px;border-radius:4px 12px 12px 4px}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.info-grid>div{padding:20px;background:white;border:1px solid var(--border);border-radius:8px}.info-grid dt{color:var(--muted);font-size:13px}.info-grid dd{margin:6px 0 0;font-weight:700;color:var(--title)}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.character{padding:25px;background:white;border-radius:12px;border-top:3px solid var(--sakura)}.character span{font-size:10px;letter-spacing:2px;color:var(--sakura-deep)}.schedule-board{background:#fff;border-radius:16px;border:1px solid var(--border);overflow:hidden}.board-heading{background:var(--night);padding:22px;color:#fff;display:flex;justify-content:space-between;gap:15px}.board-heading span{color:#fdc3d0}.schedule-row{display:flex;gap:20px;padding:20px;border-bottom:1px solid var(--border)}.collection-index{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.collection-entry{background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px;min-height:210px;transition:transform .2s}.collection-entry:nth-child(4n + 1){border-top:4px solid var(--sakura)}.collection-entry:nth-child(4n + 2){border-top:4px solid var(--cyan)}.collection-entry:nth-child(4n + 3){border-top:4px solid var(--gold)}.collection-entry:nth-child(4n + 4){border-top:4px solid var(--violet)}.collection-entry>span{font-size:11px;letter-spacing:2px;color:var(--muted)}.collection-entry h2{margin-top:20px}.collection-entry small{color:var(--sakura-deep);font-weight:700}.collection-banner{max-height:400px;overflow:hidden;border-radius:15px}.banner-image{width:100%;aspect-ratio:9/4;object-fit:contain}.long-read{max-width:880px;margin:40px auto;font-size:17px;line-height:2}.long-read p{margin-bottom:22px}.collection-detail>h2{margin:25px 0}.collection-detail>.actions{margin-top:30px}.about-page{max-width:970px}.about-page section{padding:20px 0;border-bottom:1px solid var(--border)}.about-page details{margin:10px 0;padding:14px;background:white;border-radius:8px}.about-page summary{cursor:pointer;font-weight:bold;color:var(--title)}
@media(max-width:1100px){.desktop-nav{gap:12px}.header-inner{gap:15px}.header-actions input{width:95px}.two-feature .anime-card{display:flex}.two-feature .poster{aspect-ratio:2/3}.thematic{gap:24px}.catalog-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:850px){.container{width:calc(100% - 40px)}.desktop-nav{display:none}.menu-toggle{display:block}.header-actions{margin-left:auto}.hero{grid-template-columns:1fr}.hero-copy{padding:46px 30px}.hero-art{min-height:260px}.station-grid{grid-template-columns:repeat(2,1fr)}.thematic,.thematic.reverse{grid-template-columns:1fr}.thematic.reverse .thematic-intro{order:0}.feature-grid,.world-grid,.collection-grid{grid-template-columns:repeat(2,1fr)}.collection-grid>:last-child{grid-column:1/-1}.catalog-grid{grid-template-columns:repeat(3,1fr)}.detail-top{grid-template-columns:190px 1fr;gap:25px}.info-grid{grid-template-columns:repeat(2,1fr)}.character-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.container{width:calc(100% - 34px)}.site-header .header-inner{height:70px}.brand{font-size:17px}.brand-mark{font-size:30px}.brand small{font-size:7px}.header-actions input{width:78px}.hero{border-radius:0 0 16px 16px}.hero-copy{padding:38px 22px}.hero h1{font-size:29px}.hero-art{min-height:200px}.section{padding-block:48px}.section-title h2{font-size:23px}.station-grid{gap:9px}.station{padding:13px;min-height:145px}.station strong{font-size:17px}.station small{font-size:12px}.feature-grid,.world-grid,.collection-grid,.collection-index{grid-template-columns:1fr}.collection-grid>:last-child{grid-column:auto}.two-feature{gap:10px}.two-feature .card-content{padding:12px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-grid .card-content{padding:11px}.catalog-grid .card-content b{font-size:15px}.catalog-grid .card-content>span{font-size:12px}.filters{display:grid;grid-template-columns:1fr}.filters input,.filters select{min-width:0;width:100%}.detail-top{grid-template-columns:1fr}.detail-poster{width:65%;max-width:250px}.anime-hero{padding:35px 0}.detail-main h1{font-size:30px}.detail-section{padding:36px 0}.info-grid{grid-template-columns:1fr 1fr}.character-grid{grid-template-columns:1fr}.anchor-nav{gap:12px;font-size:12px}.footer-grid{display:block}.footer-grid>div:last-child{margin-top:25px}.footer{padding-bottom:100px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fefefa;border-top:1px solid var(--border);padding:10px 8px max(10px,env(safe-area-inset-bottom));z-index:25;font-size:13px;font-weight:700}.timetable-band,.end-frame{padding:50px 0}.board-heading{font-size:13px}.empty-state{padding:28px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
