:root{--ink:#09070d;--ink-soft:#110b16;--panel:#140b19d1;--panel-solid:#160d1b;--line:#ffe8c329;--line-strong:#ffe0ab57;--moon:#ffe0a3;--moon-bright:#fff3d5;--wine:#7a1939;--pink:#f63a85;--violet:#9c31ff;--text:#fffaf2;--muted:#c8baca;--radius:20px;--shadow:0 24px 80px #00000061}*{box-sizing:border-box;scrollbar-color:#ffe0a357 #0d0910}::selection{color:#231019;background:var(--moon)}html{scroll-behavior:smooth;background:var(--ink)}body{caret-color:var(--pink);color:var(--text);background:radial-gradient(circle at 13% 16%, #75194033, transparent 30rem), radial-gradient(circle at 82% 22%, #63218824, transparent 28rem), var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}body:before{z-index:-1;content:"";opacity:.23;pointer-events:none;background-image:radial-gradient(circle,#fff0d299 0 1px,#0000 1.4px),radial-gradient(circle,#f7529457 0 1px,#0000 1.4px);background-position:0 0,23px 31px;background-size:73px 73px,97px 97px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 72%);mask-image:linear-gradient(#000,#0000 72%)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}.siteShell{min-width:0;overflow:clip}.topBar{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#09070dc7;justify-content:space-between;align-items:center;width:min(1380px,100% - 48px);min-height:76px;margin:0 auto;display:flex;position:sticky;top:0}.brandLockup,.topActions,.ruleStrip,.panelHeader,.progressLine,.dialogHeading,.sectionHeading,.siteFooter{align-items:center;display:flex}.brandLockup{gap:12px}.brandLogo{object-fit:cover;border:1px solid #fff3;border-radius:13px;width:44px;height:44px;box-shadow:0 0 24px #f63a8533}.brandName,.brandEdition{display:block}.brandName{letter-spacing:.12em;font-weight:800}.brandEdition{color:var(--muted);letter-spacing:.2em;margin-top:2px;font-size:11px}.topActions{gap:24px}.textButton,.textLink{min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0;transition:color .18s}.textButton:hover,.textLink:hover{color:var(--moon-bright)}.hero{isolation:isolate;border-bottom:1px solid #ffe0a32e;grid-template-columns:minmax(0,.9fr) minmax(540px,1.1fr);align-items:center;gap:clamp(30px,4vw,64px);width:min(1380px,100% - 48px);min-height:calc(100svh - 76px);margin:0 auto;padding:clamp(46px,5vw,72px) 0 62px;display:grid;position:relative;overflow:hidden}.hero:before{z-index:-1;content:"";background:linear-gradient(to top, var(--ink), transparent);pointer-events:none;height:30%;position:absolute;bottom:0;left:0;right:0}.festivalBackdrop,.heroVignette{pointer-events:none;position:absolute;inset:0}.festivalBackdrop{z-index:-3;background:#0d080e;overflow:hidden}.festivalBackdrop img{object-fit:cover;object-position:42% center;filter:saturate(.82)contrast(1.08)brightness(.82);animation:1.2s cubic-bezier(.16,1,.3,1) both sceneReveal}.heroVignette{z-index:-2;background:linear-gradient(90deg,#09070de6 0%,#09070da8 29%,#09070d2e 56%,#09070d9e 100%),linear-gradient(#09070d52 0%,#0000 65%,#09070df5 100%)}.heroStory{z-index:1;max-width:590px;padding:42px 0 44px 30px;animation:.76s cubic-bezier(.16,1,.3,1) .1s both storyRise;position:relative}.hero h1{letter-spacing:.02em;text-wrap:balance;text-shadow:0 8px 32px #09070dc7,0 2px 12px #5b172db8;max-width:6em;margin:0;font-family:Songti SC,STSong,serif;font-size:clamp(58px,5.7vw,88px);font-weight:700;line-height:1.02}.heroKicker{color:var(--moon);letter-spacing:.18em;margin:20px 0 0;font-family:Songti SC,STSong,serif;font-size:clamp(25px,2.8vw,40px)}.heroIntro{color:#ded2dc;text-shadow:0 2px 14px #09070ddb;max-width:500px;margin:25px 0 0;font-size:15px;line-height:1.8}.ruleStrip{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);width:min(100%,480px);margin-top:30px}.ruleStrip div{flex:1;align-items:baseline;gap:6px;padding:17px 14px 17px 0;display:flex;position:relative}.ruleStrip div+div{padding-left:20px}.ruleStrip div+div:before{content:"";background:var(--line);width:1px;height:44%;position:absolute;top:28%;left:0}.ruleStrip strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:26px;font-weight:500}.ruleStrip span,.claimNote{color:var(--muted);font-size:12px}.claimNote{color:#ded2dc;text-shadow:0 2px 12px #09070ddb;margin:14px 0 0}.gamePanel{z-index:2;border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(22px)saturate(115%);backdrop-filter:blur(22px)saturate(115%);background:linear-gradient(150deg,#ffffff0b,#0000 34%),#140b19e8;justify-self:end;width:100%;max-width:680px;padding:clamp(22px,3vw,34px);animation:.82s cubic-bezier(.16,1,.3,1) .18s both panelRise;position:relative;box-shadow:0 28px 90px #05030880,inset 0 1px #ffffff0d}.gamePanel:after{z-index:-1;content:"";pointer-events:none;border:1px solid #ffe0a30f;border-radius:14px;position:absolute;inset:9px}.panelHeader,.progressLine,.dialogHeading,.sectionHeading,.siteFooter{justify-content:space-between}.panelHeader h2{letter-spacing:.08em;margin:0;font-size:28px}.timer{border:1px solid var(--line);background:#0000002e;border-radius:14px;align-items:baseline;gap:5px;min-width:106px;padding:10px 13px;display:flex}.timer span,.timer small{color:var(--muted);font-size:11px}.timer strong{color:var(--moon-bright);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:25px}.timer[data-urgent=true] strong{color:#ff7894}.progressLine{color:var(--muted);margin:19px 0 14px;font-size:12px}.progressLine strong{color:var(--moon);letter-spacing:.08em}.cardGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(7px,1.2vw,12px);display:grid}.gameCard{aspect-ratio:.74;min-width:0;color:var(--text);cursor:pointer;perspective:800px;background:0 0;border:0;border-radius:14px;padding:0;position:relative}.gameCard:disabled{cursor:default}.cardInner{border-radius:inherit;transform-style:preserve-3d;transition:transform .43s cubic-bezier(.2,.7,.2,1);display:block;position:absolute;inset:0}.gameCard[data-revealed=true] .cardInner{transform:rotateY(180deg)}.cardBack,.cardFace{border-radius:inherit;backface-visibility:hidden;border:1px solid #ffe0a330;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.cardBack{background:linear-gradient(145deg,#ffffff0f,#0000 38%),radial-gradient(circle at 50% 38%,#9d31ff2e,#0000 48%),#211128;box-shadow:inset 0 0 0 4px #08050c66}.cardBack:before,.cardBack:after{content:"";border:1px solid #ffe0a326;border-radius:50%;position:absolute}.cardBack:before{aspect-ratio:1;width:58%}.cardBack:after{aspect-ratio:1;width:76%}.cardBack i{z-index:1;color:#5b2630;background:var(--moon);border-radius:50%;place-items:center;width:34px;height:34px;font-family:Songti SC,serif;font-style:normal;font-weight:800;display:grid;position:relative}.cardBack b{z-index:1;color:#fff6e79e;letter-spacing:.16em;font-size:9px;position:absolute;bottom:10px}.cardFace{background:radial-gradient(circle at 50% 34%,#ffe7c32b,#0000 36%),linear-gradient(160deg,#542036,#22111e 68%);transform:rotateY(180deg);box-shadow:inset 0 0 34px #f63a8514}.cardFace i{width:clamp(35px,4vw,52px);height:clamp(35px,4vw,52px);color:var(--moon-bright);background:#ffffff0a;border:1px solid #ffe0a34d;border-radius:50%;place-items:center;font-family:Songti SC,serif;font-size:clamp(19px,2vw,28px);font-style:normal;display:grid}.cardFace b{letter-spacing:.03em;text-overflow:ellipsis;white-space:nowrap;max-width:90%;margin-top:10px;font-size:clamp(9px,1vw,13px);font-weight:600;overflow:hidden}.gameCard[data-matched=true] .cardFace{border-color:#ffe0a38a;box-shadow:0 0 26px #ffd27e29,inset 0 0 36px #ffd37e14}.gameCard:focus-visible,.primaryButton:focus-visible,.textButton:focus-visible,.textLink:focus-visible,.portalCard:focus-visible,.closeButton:focus-visible{outline:2px solid var(--moon-bright);outline-offset:3px}.primaryButton{color:#fff;background:linear-gradient(100deg, var(--violet), var(--pink) 58%, #ff6c2c);letter-spacing:.06em;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 26px;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex;box-shadow:0 12px 34px #e3257938}.primaryButton:hover{transform:translateY(-2px);box-shadow:0 16px 42px #e3257952}.primaryButton:disabled{opacity:.54;cursor:default;transform:none}.gameAction{width:100%;margin:0 0 18px}.resultPanel{background:radial-gradient(circle at 90% 10%,#ffda9121,#0000 40%),#541c325c;border:1px solid #ffe0a342;border-radius:16px;margin-top:18px;padding:20px;display:grid}.resultPanel span{color:var(--moon);letter-spacing:.16em;font-size:11px}.resultPanel strong{margin-top:8px;font-family:Songti SC,serif;font-size:22px}.resultPanel p{color:var(--muted);margin:8px 0 16px;font-size:13px}.timeoutResult{border-color:var(--line);background:#ffffff06}.dialogLayer{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#040306c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.rulesDialog{border:1px solid var(--line-strong);border-radius:var(--radius);width:min(560px,100%);max-height:calc(100svh - 48px);box-shadow:var(--shadow);background:#160f1b;padding:clamp(24px,5vw,42px);overflow:auto}.dialogHeading h2{margin:0;font-family:Songti SC,serif;font-size:34px}.closeButton{border:1px solid var(--line);min-width:58px;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border-radius:999px}.rulesList{gap:18px;margin:32px 0;padding:0;list-style:none;display:grid}.rulesList li{grid-template-columns:36px 1fr;gap:15px;display:grid}.rulesList li span{color:var(--moon);font-family:ui-monospace,monospace}.rulesList p{color:var(--muted);margin:0;line-height:1.7}.dialogAction{width:100%}.portalSection{width:min(1380px,100% - 48px);margin:0 auto;padding:92px 0 100px;scroll-margin-top:70px}.sectionHeading{margin-bottom:30px;display:block}.sectionHeading h2{letter-spacing:.05em;margin:0;font-family:Songti SC,serif;font-size:clamp(36px,4vw,58px)}.sectionHeading>p{max-width:420px;color:var(--muted);margin:14px 0 0;line-height:1.75}.portalGrid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;display:grid}.portalCard{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-solid);min-height:280px;transition:border-color .18s,transform .18s;position:relative;overflow:hidden;box-shadow:0 18px 54px #00000038}.portalCard:hover{border-color:var(--line-strong);transform:translateY(-3px)}.portalImageCard{aspect-ratio:1.51}.portalImageCard img{object-fit:cover}.portalHover,.portalArrow{z-index:4;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#09070dad;border:1px solid #ffffff3d;border-radius:999px;align-items:center;min-height:42px;padding:0 18px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;bottom:18px;right:18px}.portalTextCard{isolation:isolate;flex-direction:column;justify-content:flex-end;padding:28px;display:flex}.portalTextCard:before{z-index:-1;content:"";background:linear-gradient(150deg,#ffffff12,#0000 32%),radial-gradient(circle at 78% 16%,#f63a8538,#0000 34%);position:absolute;inset:0}.dramaCard{background:linear-gradient(155deg,#2f101b,#100a12 68%)}.subscribeCard{background:linear-gradient(155deg,#22102f,#0e0912 70%)}.portalMonogram{color:#ffebcf14;letter-spacing:-.08em;font-family:ui-monospace,monospace;font-size:clamp(42px,6vw,82px);font-weight:900;position:absolute;top:20px;right:20px}.portalCopy span{color:var(--moon);letter-spacing:.1em;font-size:11px}.portalCopy strong{margin-top:9px;font-family:Songti SC,serif;font-size:31px;display:block}.portalCopy p{max-width:250px;color:var(--muted);margin:10px 0 56px;font-size:13px;line-height:1.7}.portalArrow{background:#ffffff0f;left:28px;right:auto}.siteFooter{border-top:1px solid var(--line);color:#8f8293;width:min(1380px,100% - 48px);min-height:100px;margin:0 auto;font-size:12px}@keyframes sceneReveal{0%{opacity:.5;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes storyRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes panelRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1050px){.hero{grid-template-columns:minmax(0,.72fr) minmax(480px,1.28fr);gap:28px}.heroStory{padding-left:20px}.portalGrid{grid-template-columns:1fr .68fr}.portalCard{min-height:230px}}@media (max-width:800px){.topBar,.hero,.portalSection,.siteFooter{width:min(100% - 28px,680px)}.topBar{min-height:66px}.brandLogo{border-radius:11px;width:38px;height:38px}.brandName{font-size:14px}.brandEdition{font-size:9px}.topActions{gap:14px;font-size:12px}.hero{border-bottom:0;min-height:0;padding:44px 0 60px;display:block;overflow:visible}.heroStory{max-width:none;padding:18px 10px 26px}.festivalBackdrop,.heroVignette{height:720px;inset:0 -14px auto}.festivalBackdrop{border-bottom:1px solid #ffe0a329}.festivalBackdrop img{object-position:31% center}.heroVignette{background:linear-gradient(90deg, #09070dd6, #09070d4d 78%, #09070d80), linear-gradient(0deg, var(--ink) 0%, #09070dd1 24%, #09070d2e 63%, #09070d6b 100%)}.hero h1{max-width:8em;font-size:clamp(43px,11.6vw,64px)}.heroKicker{font-size:clamp(24px,7vw,34px)}.heroIntro{font-size:14px}.gamePanel{background:linear-gradient(150deg,#ffffff0b,#0000 34%),#140b19f0;flex-direction:column;max-width:none;padding:20px;display:flex}.gameAction{order:2;margin:0 0 14px}.cardGrid{order:3}.resultPanel{order:4}.portalSection{padding:70px 0}.sectionHeading>p{font-size:14px}.portalGrid{grid-template-columns:1fr}.portalCard{min-height:245px}.portalImageCard{aspect-ratio:1.51}}@media (max-width:430px){.topBar,.hero,.portalSection,.siteFooter{width:calc(100% - 24px)}.hero{padding-top:34px}.heroStory{padding-top:8px}.hero h1{letter-spacing:.02em;max-width:none;font-size:clamp(39px,11.2vw,50px)}.heroKicker{margin-top:15px;font-size:23px}.heroIntro{margin-top:18px;line-height:1.75}.ruleStrip div{padding:13px 8px 13px 0;display:block}.ruleStrip div+div{padding-left:12px}.ruleStrip strong,.ruleStrip span{display:block}.ruleStrip strong{font-size:22px}.ruleStrip span{margin-top:2px}.gamePanel{border-radius:18px;padding:15px}.panelHeader h2{font-size:23px}.timer{min-width:96px;padding:8px 10px}.cardGrid{gap:6px}.gameCard{border-radius:10px}.cardBack i{width:28px;height:28px;font-size:13px}.cardBack b{font-size:7px;bottom:7px}.cardFace b{margin-top:6px;font-size:8px}.portalSection{padding-top:78px}.sectionHeading h2{font-size:38px}.portalCard{border-radius:18px;min-height:220px}.portalImageCard{min-height:0}.portalTextCard{padding:23px}.portalArrow{left:23px}.portalHover{display:none}.siteFooter{padding:24px 0;line-height:1.6;display:block}.siteFooter p{margin:5px 0}}@media (max-width:350px){.hero h1{font-size:39px}.topActions{font-size:11px}.brandLockup{gap:8px}.brandLogo{width:34px;height:34px}.cardFace b{letter-spacing:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
