/* 福利姬｜珊瑚放映室：新编辑主义电影长卷，放映珊瑚红与深夜蓝构成全站视觉基线。 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=Noto+Serif+SC:wght@700;900&family=Space+Mono:wght@400;700&display=swap');

:root { --coral:#ef5b4c; --coral-deep:#d9463b; --ink:#10233f; --ink-2:#182f50; --paper:#f7f1e7; --cream:#fffdf9; --mist:#e8e2d7; --slate:#536073; --line:rgba(16,35,63,.16); --mono:'Space Mono',monospace; --sans:'Noto Sans SC',sans-serif; --serif:'Noto Serif SC',serif; --ease:cubic-bezier(.23,1,.32,1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); font-size:16px; line-height:1.7; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
cabqNp,input { font:inherit; }
cabqNp { cursor:pointer; }
.zdGZ6c { position:absolute; left:-999px; top:8px; z-index:99; padding:8px 14px; background:var(--coral); color:#fff; }
.zdGZ6c:focus { left:8px; }
.wItL7arv { width:min(1240px,calc(100% - 48px)); margin:auto; }
.rDFJ7m { position:sticky; top:0; z-index:20; border-bottom:1px solid rgba(255,253,249,.1); background:rgba(16,35,63,.96); color:var(--paper); backdrop-filter:blur(16px); }
.l9WUFc { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:76px; }
.syotcb0B { display:flex; align-items:center; gap:10px; flex:none; font-weight:800; letter-spacing:-.06em; font-size:23px; }
.syotcb0B img { width:38px; height:38px; object-fit:contain; }
.toSzTAmJ { display:flex; align-items:baseline; gap:4px; }
.toSzTAmJ small { color:#ffb2a8; font:700 9px var(--mono); letter-spacing:.04em; }
.cJXocuh { display:flex; align-items:center; gap:18px; font-size:14px; white-space:nowrap; }
.cJXocuh a { position:relative; padding:7px 0; color:rgba(247,241,231,.82); }
.cJXocuh a::after { position:absolute; right:0; bottom:1px; left:0; height:2px; background:var(--coral); content:''; transform:scaleX(0); transform-origin:left; transition:transform .22s var(--ease); }
.cJXocuh a:hover::after,.cJXocuh a[aria-current='page']::after { transform:scaleX(1); }
.cJXocuh a[aria-current='page'] { color:#fff; }
.eZauD5 { display:none; padding:7px; border:0; border-radius:0; color:#fff; background:transparent; }
.t49Ds { background:#0b1930; color:#fff; }
.hsE9skbV { display:flex; align-items:center; gap:14px; padding:14px 0; }
.dGgZU { flex:none; color:#ffb2a8; font:700 10px var(--mono); letter-spacing:.12em; }
.jIqhs { display:flex; align-items:center; width:min(530px,100%); border-bottom:1px solid rgba(255,255,255,.32); }
.jIqhs input { width:100%; padding:8px 0; border:0; outline:0; color:#fff; background:transparent; font-size:13px; }
.jIqhs input::placeholder { color:rgba(255,255,255,.54); }
.jIqhs cabqNp { border:0; color:#fff; background:none; font-size:16px; }
.bEybx0kW { position:fixed; right:22px; bottom:22px; z-index:40; padding:12px 16px; opacity:0; color:#fff; background:var(--ink); box-shadow:0 14px 36px rgba(0,0,0,.22); pointer-events:none; transform:translateY(12px); transition:.22s var(--ease); }
.bEybx0kW.sYJZ8M { opacity:1; transform:translateY(0); }
.sCN8fQD { position:relative; overflow:hidden; min-height:640px; color:#fff; background:var(--ink); }
.sxuECePM { position:absolute; inset:0; width:100%; height:100%; opacity:.9; object-fit:cover; object-position:center; }
.adBFxaEK { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,20,38,.97) 0%,rgba(8,20,38,.88) 35%,rgba(8,20,38,.18) 70%,rgba(8,20,38,.12)); }
.i28ZvnS { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); min-height:640px; align-items:end; gap:42px; padding:76px 0 60px; }
.n83BSQgI { display:flex; align-items:center; gap:10px; margin:0 0 20px; color:#ffb2a8; font:700 11px var(--mono); letter-spacing:.12em; text-transform:uppercase; }
.n83BSQgI::before { width:28px; height:2px; background:var(--coral); content:''; }
h1,h2,h3,h4,h5,h6,p { margin-top:0; }
h1 { max-width:720px; margin-bottom:21px; font:900 clamp(47px,7.3vw,96px)/1.05 var(--serif); letter-spacing:-.09em; }
h1 em { color:#ff8e80; font-style:normal; }
.sL0bLB { max-width:550px; margin-bottom:30px; color:rgba(255,255,255,.8); font-size:17px; }
.rZhL70 { display:flex; flex-wrap:wrap; gap:12px; }
.cabqNp { display:inline-flex; align-items:center; justify-content:center; min-height:45px; padding:0 18px; border:1px solid transparent; font-weight:700; transition:transform .16s var(--ease),background .16s var(--ease),color .16s var(--ease); }
.cabqNp:active { transform:scale(.97); }
.lxx4h { color:#fff; background:var(--coral); }
.lxx4h:hover { background:var(--coral-deep); }
.cft0X { border-color:rgba(255,255,255,.38); color:#fff; background:rgba(255,255,255,.08); }
.cft0X:hover { background:#fff; color:var(--ink); }
.cfAxB7RW { color:#fff; background:var(--ink); }
.button--outline { border-color:var(--ink); color:var(--ink); background:transparent; }
.vwsmd { align-self:end; padding:18px 20px; border-left:2px solid var(--coral); background:rgba(255,253,249,.1); backdrop-filter:blur(8px); }
.vwsmd strong { display:block; font:700 25px/1 var(--mono); }
.vwsmd p { margin:6px 0 0; color:rgba(255,255,255,.72); font-size:12px; }
.o2W6Oc { position:absolute; right:0; bottom:0; left:0; padding:10px 0; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.75); font:10px var(--mono); letter-spacing:.08em; }
.i2GH3 { position:relative; padding:104px 0; }
.fcpmR { background:var(--cream); }
.ygSWcv { color:var(--paper); background:var(--ink); }
.wyNgg1Gb { display:grid; grid-template-columns:130px minmax(0,1fr); gap:30px; align-items:start; margin-bottom:44px; }
.hzB3KN { padding-top:8px; color:var(--coral); font:700 13px var(--mono); letter-spacing:.1em; }
.wyNgg1Gb h2 { max-width:740px; margin-bottom:10px; font:900 clamp(31px,4.6vw,57px)/1.16 var(--serif); letter-spacing:-.07em; }
.wyNgg1Gb p { max-width:700px; margin-bottom:0; color:var(--slate); }
.ygSWcv .wyNgg1Gb p { color:rgba(247,241,231,.72); }
.lQoVss { display:grid; grid-template-columns:1.45fr .82fr .82fr; gap:18px; }
.ymMBdS9 { position:relative; min-height:300px; overflow:hidden; color:#fff; background:#263850; isolation:isolate; }
.nDWKGJ6 { min-height:454px; }
.ymMBdS9 img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s var(--ease); }
.ymMBdS9::after { position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(8,20,38,.92),rgba(8,20,38,.05) 63%); content:''; }
.ymMBdS9:hover img { transform:scale(1.05); }
.qgqQgg { position:absolute; right:0; bottom:0; left:0; z-index:2; padding:22px; }
.ektsb { margin-bottom:8px; color:#ffb2a8; font:10px var(--mono); letter-spacing:.07em; }
.ymMBdS9 h3 { margin-bottom:8px; font:800 clamp(19px,2vw,29px)/1.25 var(--sans); letter-spacing:-.04em; }
.nDWKGJ6 h3 { max-width:600px; font-size:clamp(25px,3vw,41px); }
.ymMBdS9 p { margin-bottom:0; color:rgba(255,255,255,.78); font-size:13px; }
.b5JfaG09 { position:absolute; top:50%; left:50%; display:grid; width:62px; height:62px; place-items:center; border:1px solid rgba(255,255,255,.86); border-radius:50%; color:#fff; background:rgba(239,91,76,.78); transform:translate(-50%,-50%) scale(.9); transition:opacity .24s var(--ease),transform .24s var(--ease); opacity:0; }
.b5JfaG09::before { margin-left:4px; border-top:8px solid transparent; border-bottom:8px solid transparent; border-left:12px solid currentColor; content:''; }
.ymMBdS9:hover .b5JfaG09,.ymMBdS9:focus-within .b5JfaG09 { opacity:1; transform:translate(-50%,-50%) scale(1); }
.hdIKdUco { position:absolute; inset:0; z-index:3; border:0; background:transparent; }
.vR52tgF { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.pPSuA { padding:5px 8px; border:1px solid currentColor; color:var(--slate); font:10px var(--mono); letter-spacing:.04em; }
.ygSWcv .pPSuA { color:#bfc9d6; }
.v8MKT { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.vghpIgNs { min-height:265px; padding:24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--cream); transition:background .24s var(--ease),color .24s var(--ease); }
.vghpIgNs:hover { color:#fff; background:var(--ink); }
.m5aoh { display:block; margin-bottom:53px; color:var(--coral); font:700 11px var(--mono); }
.vghpIgNs h3 { margin-bottom:9px; font:800 21px/1.25 var(--sans); letter-spacing:-.04em; }
.vghpIgNs p { margin-bottom:0; font-size:13px; }
.ziPZiKdM { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(24px,5vw,76px); align-items:center; }
.rn7KgOGV { position:relative; min-height:440px; }
.rn7KgOGV img { width:100%; height:100%; min-height:440px; object-fit:cover; }
.qdKIQ { position:absolute; right:-12px; bottom:18px; padding:16px; color:var(--ink); background:var(--coral); font:700 12px var(--mono); line-height:1.4; }
.jcAVc3 h3 { margin-bottom:14px; font:900 clamp(30px,3.5vw,46px)/1.2 var(--serif); letter-spacing:-.06em; }
.jcAVc3 p { color:var(--slate); }
.ofbrH4 { margin:25px 0; padding:0; list-style:none; }
.ofbrH4 li { display:flex; gap:13px; padding:12px 0; border-top:1px solid var(--line); font-weight:700; }
.ofbrH4 li::before { color:var(--coral); font:700 11px var(--mono); content:'→'; }
.gxNKx { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.igXFxHOm { grid-column:span 7; min-height:450px; background:#2b3c54; }
.igXFxHOm img { width:100%; height:100%; object-fit:cover; }
.eUb5KS { grid-column:span 5; padding:40px; background:var(--coral); color:#fff; }
.eUb5KS h3 { font:900 39px/1.15 var(--serif); letter-spacing:-.07em; }
.eUb5KS p { color:rgba(255,255,255,.83); }
.srcQa41 { margin:26px 0 0; padding:0; list-style:none; }
.srcQa41 li { padding:12px 0; border-top:1px solid rgba(255,255,255,.28); font-weight:700; }
.bFHrh { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(255,255,255,.24); }
.ur25ZP { padding:26px; background:var(--ink-2); }
.wpoQeN73 { margin-bottom:25px; color:#ffb2a8; font:10px var(--mono); letter-spacing:.08em; }
.ur25ZP h3 { margin-bottom:8px; font:800 23px/1.2 var(--sans); }
.ur25ZP p { min-height:70px; color:rgba(255,255,255,.7); font-size:13px; }
.zhjK1ON6 { margin:19px 0; padding:12px 0; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); color:#d4dbe5; font-size:12px; }
.rEWRhyca { color:inherit; font-weight:800; font-size:13px; }
.rEWRhyca::after { margin-left:5px; color:var(--coral); content:'↗'; }
.wEb6KGOI { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
.wEb6KGOI span { display:grid; min-height:90px; place-items:center; border:1px solid var(--line); color:var(--slate); font:700 12px var(--mono); letter-spacing:.04em; }
.yeV5RIEd { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:42px; }
.dS05C { padding:22px; border-top:3px solid var(--coral); background:var(--cream); }
.dS05C strong { display:block; margin-bottom:22px; color:var(--coral); font:700 11px var(--mono); }
.dS05C h3 { font:800 22px/1.25 var(--sans); }
.zaPQUZUk { border-top:1px solid var(--line); }
.zaPQUZUk details { border-bottom:1px solid var(--line); }
.zaPQUZUk summary { position:relative; padding:19px 34px 19px 0; cursor:pointer; font-weight:800; list-style:none; }
.zaPQUZUk summary::-webkit-details-marker { display:none; }
.zaPQUZUk summary::after { position:absolute; right:0; color:var(--coral); content:'+'; font:26px/1 var(--mono); }
.zaPQUZUk details[open] summary::after { content:'−'; }
.zaPQUZUk p { max-width:780px; padding-bottom:20px; color:var(--slate); }
.nfVARe { padding:28px; border-left:3px solid var(--coral); background:#fff5f2; }
.nfVARe h3 { font:800 23px/1.3 var(--sans); }
.nfVARe p { max-width:780px; margin-bottom:0; color:var(--slate); }
.bRlaNQ { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.o4xeQ { padding:38px; color:#fff; background:var(--ink); }
.o4xeQ h2 { font:900 43px/1.2 var(--serif); letter-spacing:-.07em; }
.o4xeQ p { color:rgba(255,255,255,.73); }
.iGn08AaK { padding:0; list-style:none; }
.iGn08AaK li { padding:13px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.iGn08AaK span { display:inline-block; width:82px; color:#ffb2a8; font:10px var(--mono); }
.iqOyFNh { padding:30px; background:#eaded0; }
.iqOyFNh h3 { font:900 31px/1.2 var(--serif); letter-spacing:-.06em; }
.qKbbtdX { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:23px; }
.dSjZMF { margin:0; }
.bgxfTbk { width:100%; aspect-ratio:1; padding:8px; background:#fff; }
.dSjZMF figcaption { margin-top:8px; font:10px var(--mono); }
.tVs5P6d { padding:62px 0 22px; color:#cbd3df; background:#08172b; }
.sssN5hH { display:grid; grid-template-columns:1.35fr .9fr .7fr; gap:44px; padding-bottom:44px; }
.tVs5P6d .syotcb0B { color:#fff; }
.tVs5P6d h5 { margin-bottom:12px; color:#ffb2a8; font:700 10px var(--mono); letter-spacing:.08em; }
.tVs5P6d p,.tVs5P6d li { color:#aab6c7; font-size:12px; }
.tVs5P6d ul { margin:0; padding:0; list-style:none; }
.tVs5P6d li { padding:3px 0; }
.i9JGmuDG { display:flex; justify-content:space-between; gap:12px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); color:#91a1b8; font:10px var(--mono); }
.zMCdt3 { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.zMCdt3 cabqNp { padding:6px 9px; border:1px solid rgba(255,255,255,.32); color:#d8dee7; background:transparent; font-size:11px; }
.zMCdt3 cabqNp:hover { border-color:var(--coral); color:#fff; }
.ahF6B { padding:16px 0; color:var(--slate); font-size:12px; }
.ahF6B a { text-decoration:underline; text-decoration-color:var(--coral); text-underline-offset:3px; }
.qcQa3 { padding:72px 0 62px; color:#fff; background:linear-gradient(112deg,var(--ink),#254464); }
.qcQa3 h1 { max-width:800px; font-size:clamp(42px,6vw,74px); }
.qcQa3 p { max-width:700px; margin:0; color:rgba(255,255,255,.76); }
.n74T51 { display:grid; grid-template-columns:minmax(0,1fr) 275px; gap:62px; align-items:start; }
.z6mtkz7L h2 { margin:54px 0 14px; font:900 34px/1.25 var(--serif); letter-spacing:-.06em; }
.z6mtkz7L h3 { margin:32px 0 10px; font:800 23px/1.3 var(--sans); }
.z6mtkz7L h4 { margin:25px 0 8px; font:800 18px/1.35 var(--sans); }
.z6mtkz7L h5 { margin:22px 0 7px; font:800 15px/1.45 var(--sans); }
.z6mtkz7L h6 { margin:18px 0 6px; color:var(--slate); font:700 12px/1.5 var(--mono); }
.z6mtkz7L p { color:#33435a; }
.cE1w3D { position:sticky; top:150px; padding:20px; border-top:3px solid var(--coral); background:var(--cream); }
.cE1w3D h3 { font:800 18px/1.3 var(--sans); }
.cE1w3D a { display:block; padding:8px 0; border-bottom:1px solid var(--line); color:var(--slate); font-size:12px; }
.t1EEQpA { margin:27px 0; padding:22px; border-left:3px solid var(--coral); background:#fff3ef; }
.eReXv { margin-top:8px; color:var(--slate); font-size:10px; }
@media (prefers-reduced-motion:no-preference) { .edZrZDa,.vwsmd,.wyNgg1Gb,.ymMBdS9,.vghpIgNs { animation:rise .52s var(--ease) both; } .ymMBdS9:nth-child(2),.vghpIgNs:nth-child(2){animation-delay:.05s}.ymMBdS9:nth-child(3),.vghpIgNs:nth-child(3){animation-delay:.1s}.vghpIgNs:nth-child(4){animation-delay:.15s}@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}} }
@media (max-width:960px) { .cJXocuh { display:none; position:absolute; top:76px; right:0; left:0; flex-direction:column; align-items:stretch; gap:0; padding:12px 24px 20px; background:var(--ink); } .cJXocuh.uZleTDV { display:flex; } .eZauD5 { display:block; } .lQoVss { grid-template-columns:1fr 1fr; } .nDWKGJ6 { grid-column:span 2; } .v8MKT { grid-template-columns:1fr 1fr; } .igXFxHOm { grid-column:span 6; } .eUb5KS { grid-column:span 6; } .n74T51 { grid-template-columns:1fr; gap:20px; } .cE1w3D { position:relative; top:auto; } }
@media (max-width:680px) { .wItL7arv { width:min(100% - 30px,1240px); } .l9WUFc { min-height:64px; } .cJXocuh { top:64px; } .syotcb0B { font-size:20px; } .syotcb0B img { width:32px;height:32px; } .hsE9skbV { gap:9px; padding:9px 0; } .dGgZU { display:none; } .sCN8fQD,.i28ZvnS { min-height:600px; } .i28ZvnS { grid-template-columns:1fr; padding:60px 0 42px; gap:20px; } .vwsmd { max-width:270px; } .adBFxaEK { background:linear-gradient(90deg,rgba(8,20,38,.95),rgba(8,20,38,.64)); } h1 { font-size:47px; } .i2GH3 { padding:66px 0; } .wyNgg1Gb { grid-template-columns:1fr; gap:7px; margin-bottom:29px; } .wyNgg1Gb h2 { font-size:34px; } .lQoVss { grid-template-columns:1fr; } .nDWKGJ6 { grid-column:auto; min-height:380px; } .ymMBdS9 { min-height:280px; } .v8MKT { grid-template-columns:1fr; } .vghpIgNs { min-height:200px; } .m5aoh { margin-bottom:30px; } .ziPZiKdM,.bRlaNQ { grid-template-columns:1fr; } .rn7KgOGV,.rn7KgOGV img { min-height:300px; } .igXFxHOm,.eUb5KS { grid-column:span 12; } .igXFxHOm { min-height:300px; } .eUb5KS { padding:28px; } .bFHrh,.yeV5RIEd { grid-template-columns:1fr; } .wEb6KGOI { grid-template-columns:repeat(2,1fr); } .sssN5hH { grid-template-columns:1fr; gap:25px; } .i9JGmuDG { display:block; } .i9JGmuDG span { display:block; margin:4px 0; } .qcQa3 { padding:50px 0; } .z6mtkz7L h2 { font-size:28px; } }
