@font-face{font-family:ZiHun ShuYa Song;src:url(/fonts/zi-hun-shu-ya-song-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ZiHun ShuYa Song;src:url(/fonts/zi-hun-shu-ya-song-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:ZiHun ShuYa Song;src:url(/fonts/zi-hun-shu-ya-song-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}:root{--bg:oklch(97% .029 90);--surface:oklch(99% .005 85);--fg:oklch(28% .06 305);--muted:oklch(58% .04 295);--border:oklch(88% .03 80);--accent:oklch(78% .14 75);--c-pink:oklch(82% .1 5);--c-blond:oklch(88% .13 85);--c-moon:oklch(94% .02 250);--c-violet:oklch(55% .18 305);--c-mint:oklch(75% .13 150);--c-rose:oklch(70% .18 15);--c-sky:oklch(75% .13 235);--c-yellow:oklch(85% .15 95);--c-orange:oklch(78% .14 50);--c-blue:oklch(60% .18 255);--c-purple-d:oklch(40% .18 305);--c-green:oklch(65% .15 145);--c-gold:oklch(82% .15 85);--c-cream:oklch(88% .08 85);--c-red:oklch(58% .2 25);--font-display:"ZiHun ShuYa Song", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-display-elegant:"ZiHun ShuYa Song", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-body:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-sm:12px;--r-md:20px;--r-lg:28px;--r-xl:36px;--shadow-card:0 2px 0 oklch(28% .06 305/.06), 0 12px 24px -8px oklch(28% .06 305/.1);--shadow-float:0 4px 0 oklch(28% .06 305/.08), 0 20px 40px -10px oklch(28% .06 305/.14)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow-x:hidden}body{font-family:var(--font-body);color:var(--fg);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at top,oklch(96% .04 85) 0%,#0000 55%),radial-gradient(circle at 90% 10%,oklch(90% .06 75/.4) 0%,#0000 25%),radial-gradient(circle at 5% 85%,oklch(90% .08 5/.3) 0%,#0000 30%);background-attachment:fixed;font-size:17px;line-height:1.6}a{color:var(--fg);text-decoration:none}img{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}ruby{ruby-align:center}rt{color:var(--muted);letter-spacing:.02em;font-size:.55em;font-weight:400;font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.04em;color:var(--fg);font-weight:500;line-height:1.25}h1{font-size:clamp(32px,4vw,48px)}h2{font-size:clamp(24px,3vw,32px)}h3{font-size:clamp(20px,2.4vw,24px)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.top-nav{z-index:50;backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:oklch(95% .025 85/.88);justify-content:space-between;align-items:center;gap:24px;padding:14px 28px;display:flex;position:sticky;top:0}.top-nav .brand{font-family:var(--font-display);letter-spacing:.05em;color:var(--fg);align-items:center;gap:12px;font-size:26px;font-weight:700;display:flex}.top-nav .brand .logo{justify-content:center;align-items:center;display:inline-flex}.top-nav .brand .logo img{display:block}.top-nav nav{gap:4px;display:flex}.top-nav nav a{color:var(--muted);border-radius:999px;padding:10px 16px;font-size:15px;font-weight:500;transition:all .18s}.top-nav nav a:hover{color:var(--fg);background:oklch(88% .03 80/.5)}.top-nav nav a.is-active{color:var(--fg);background:var(--accent)}main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:32px clamp(16px,4vw,56px) 96px}.btn{font-family:var(--font-display);background:var(--surface);color:var(--fg);border:2px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:14px 24px;font-size:17px;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:oklch(20% .04 75);border-color:oklch(65% .12 75)}.btn-primary:hover{background:oklch(82% .15 75)}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover{background:oklch(88% .03 80/.5)}.chip{background:var(--surface);color:var(--muted);border:1px solid var(--border);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.chip-accent{background:var(--accent);color:oklch(20% .04 75);border-color:oklch(65% .12 75)}.chip-soft{background:oklch(88% .03 80/.6)}.card{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);transition:transform .2s,box-shadow .2s;overflow:hidden}.card:hover{box-shadow:var(--shadow-float);transform:translateY(-4px)}.card-img{aspect-ratio:1;object-fit:cover;background:oklch(90% .04 80);width:100%}.card-img-wide{aspect-ratio:16/10}.card-body{padding:18px 20px 22px}.card-title{font-family:var(--font-display);letter-spacing:.06em;margin-bottom:6px;font-size:19px;font-weight:500}.card-meta{color:var(--muted);font-size:13px}.site-footer{text-align:center;color:var(--muted);padding:32px 16px 48px;font-size:13px}.site-footer .star{color:var(--accent)}.audio-player{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:20px 24px 22px}.audio-player .row{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.audio-player .play-btn{background:var(--accent);color:oklch(20% .04 75);border-radius:50%;flex-shrink:0;place-items:center;width:56px;height:56px;transition:transform .12s;display:grid;box-shadow:0 3px oklch(65% .12 75)}.audio-player .play-btn:hover{transform:scale(1.05)}.audio-player .play-btn:active{transform:scale(.96)}.audio-player .play-btn svg{width:22px;height:22px}.audio-player .progress{flex-direction:column;flex:1;gap:6px;min-width:180px;display:flex}.audio-player .progress-bar{cursor:pointer;background:oklch(88% .03 80);border-radius:999px;height:8px;position:relative;overflow:hidden}.audio-player .progress-fill{background:var(--accent);border-radius:999px;width:0%;transition:width .1s linear;position:absolute;inset:0 auto 0 0}.audio-player .progress-thumb{background:var(--accent);border:3px solid var(--surface);border-radius:50%;width:18px;height:18px;position:absolute;top:50%;left:0%;transform:translate(-50%,-50%);box-shadow:0 2px 6px oklch(28% .06 305/.25)}.audio-player .time{color:var(--muted);font-size:12px;font-family:var(--font-mono);justify-content:space-between;display:flex}.audio-player .controls{align-items:center;gap:8px;display:flex}.audio-player .ctrl-btn{width:38px;height:38px;color:var(--fg);background:oklch(88% .03 80/.6);border-radius:50%;place-items:center;transition:all .12s;display:grid}.audio-player .ctrl-btn:hover{background:var(--accent);color:oklch(20% .04 75)}.audio-player .ctrl-btn svg{width:16px;height:16px}.audio-player .speed-pill{color:var(--fg);font-size:13px;font-weight:600;font-family:var(--font-mono);background:oklch(88% .03 80/.6);border-radius:999px;padding:6px 12px}.audio-player .placeholder-note{border-radius:var(--r-sm);color:var(--muted);background:oklch(85% .06 85/.5);align-items:center;gap:8px;margin-top:12px;padding:10px 14px;font-size:13px;display:flex}.story-layout{grid-template-columns:360px 1fr;align-items:start;gap:40px;display:grid}@media (width<=900px){.story-layout{grid-template-columns:1fr;gap:24px}}.story-cover-sticky{flex-direction:column;gap:16px;display:flex;position:sticky;top:92px}@media (width<=900px){.story-cover-sticky{position:static}}.story-back-bar{display:none}@media (width<=720px){body.story-page .top-nav{display:none}.story-cover-sticky{z-index:20;background:var(--surface);border-bottom:1px solid var(--border);gap:0;margin:0 -16px;padding:10px 16px 14px;position:sticky;top:0;box-shadow:0 4px 12px oklch(28% .06 305/.08)}.story-back-bar{color:var(--muted);align-items:center;gap:6px;padding:6px 0 8px;font-size:14px;text-decoration:none;display:flex}.story-back-bar:active{color:var(--fg)}.story-cover-sticky .story-cover{border-radius:var(--r-md);width:100%;box-shadow:none}.story-cover-sticky .story-cover:after{inset:6px}.story-cover-sticky .audio-player{border-radius:var(--r-md);margin-top:10px;padding:12px 14px}}.story-cover{border-radius:var(--r-lg);box-shadow:var(--shadow-float);background:var(--surface);border:1px solid var(--border);overflow:hidden}.story-cover img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.story-body{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);padding:36px clamp(20px,4vw,48px)}.story-body,.story-cover,.audio-player{box-shadow:inset 0 1px oklch(100% 0 0/.6),0 2px oklch(28% .06 305/.06),0 12px 24px -8px oklch(28% .06 305/.1)}.story-body h1{margin-bottom:8px;font-size:clamp(28px,3.5vw,40px)}.story-body .meta{border-bottom:1px dashed var(--border);flex-wrap:wrap;gap:10px;margin-bottom:24px;padding-bottom:20px;display:flex}.story-text{color:var(--fg);letter-spacing:0;font-size:18px;line-height:2.2}.story-text .sentence{cursor:pointer;border-radius:6px;padding:2px 4px;transition:background .18s,color .18s;display:inline}.story-text .sentence:hover{background:oklch(88% .06 85/.4)}.story-text .sentence.is-active{background:var(--accent);color:oklch(20% .04 75)}.story-text .sentence.is-played{color:oklch(50% .04 295)}.story-text .sentence.is-played ruby rt{color:oklch(70% .04 295)}.story-paragraph{margin-bottom:18px}.story-text ruby{ruby-align:center;flex-direction:column-reverse;align-items:center;margin:0 1px;line-height:1;display:inline-flex}.story-text ruby>rt{color:var(--muted);font-size:.5em;font-family:var(--font-body);text-align:center;white-space:nowrap;user-select:none;margin-bottom:2px;font-weight:400;line-height:1}.story-text ruby.punct>rt{color:#0000;min-height:1em;line-height:normal;display:block}.story-text .w.punct{cursor:text}.story-text .w.punct:hover{background:0 0}.end-pill{border-radius:var(--r-md);border:2px dashed var(--accent);text-align:center;font-family:var(--font-display);color:var(--fg);background:oklch(90% .06 85);margin-top:28px;padding:16px 20px;font-size:22px}.grid{gap:24px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}@media (width<=720px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.stack{flex-direction:column;display:flex}.stack>*+*{margin-top:var(--stack-gap,16px)}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.text-center{text-align:center}.text-muted{color:var(--muted)}.text-display{font-family:var(--font-display)}.eyebrow{font-family:var(--font-display);letter-spacing:.08em;color:oklch(45% .1 75);text-transform:uppercase;font-size:14px;display:inline-block}.latest-episode-card{padding:0}.latest-episode-layout{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:stretch;gap:0;display:grid}.latest-episode-layout>*{min-width:0}.latest-episode-body{padding:32px 32px 32px 40px}@media (width<=720px){.latest-episode-layout{grid-template-columns:1fr}.latest-episode-body{padding:18px}}@keyframes float-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.5s both float-up}.fade-in-d1{animation-delay:80ms}.fade-in-d2{animation-delay:.16s}.fade-in-d3{animation-delay:.24s}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.twinkle{animation:3s ease-in-out infinite twinkle}.episode-card{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);max-width:1080px;box-shadow:var(--shadow-card);grid-template-columns:360px minmax(0,1fr);gap:0;padding:0;transition:all .2s;display:grid;position:relative;overflow:hidden}.episode-card .ep-body{flex-direction:column;align-items:flex-start;padding:32px 32px 32px 40px;display:flex}.episode-card .ep-body>.btn{margin-top:auto}.episode-card:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.episode-card .ep-cover{aspect-ratio:1;overflow:hidden}.episode-card .ep-cover img{object-fit:cover;width:100%;height:100%}.episode-card .ep-num{font-family:var(--font-display);color:oklch(45% .1 75);letter-spacing:.08em;text-transform:uppercase;font-size:13px}.episode-card h3{margin:4px 0 10px;font-size:24px}.episode-card .ep-desc{color:var(--muted);margin-bottom:14px}.episode-card.is-coming .ep-desc,.episode-card.is-coming .row{display:none}.episode-card .btn{min-height:42px;padding:11px 22px;font-size:16px}.episode-card.is-coming{opacity:.92}.episode-card.is-coming .ep-cover{text-align:center;background:linear-gradient(135deg,oklch(88% .05 305),oklch(85% .04 80));place-items:center;display:grid;position:relative}.episode-card.is-coming .ep-cover:after{content:"?";font-family:var(--font-display);color:oklch(55% .1 305/.7);font-size:48px;line-height:1}.episode-card.is-coming .ep-cover .coming-note{letter-spacing:.1em;color:oklch(40% .1 305/.75);font-size:10px;font-family:var(--font-display);position:absolute;inset:auto 8px 8px}.character-card{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;transition:all .2s;overflow:hidden}.character-card:hover{box-shadow:var(--shadow-float);transform:translateY(-4px)}.character-card .char-img{aspect-ratio:1;background:oklch(92% .04 80);position:relative;overflow:hidden}.character-card .char-img img{object-fit:cover;width:100%;height:100%}.character-card .char-tag{color:var(--surface);background:var(--char-color,var(--accent));border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600;position:absolute;top:10px;left:10px}.character-card .char-body{padding:16px 18px 20px}.character-card .char-name{font-family:var(--font-display);margin-bottom:4px;font-size:20px}.character-card .char-role{color:var(--muted);font-size:13px}.char-filter{flex-wrap:wrap;gap:8px;padding:16px 0 24px;display:flex}.char-filter .pill{background:var(--surface);border:1.5px solid var(--border);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.char-filter .pill:hover{color:var(--fg);border-color:var(--muted)}.char-filter .pill.is-active{background:var(--accent);color:oklch(20% .04 75);border-color:oklch(65% .12 75)}.modal-backdrop{z-index:100;background:oklch(28% .06 305/.5);justify-content:center;align-items:center;padding:16px;display:none;position:fixed;inset:0}.modal-backdrop.is-open{display:flex}.modal{background:var(--surface);border-radius:var(--r-xl);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-float);border:1px solid var(--border);position:relative;overflow:auto}.modal-close{width:44px;height:44px;color:var(--fg);z-index:5;cursor:pointer;background:oklch(99% .005 85);border:1px solid oklch(78% .13 75/.45);border-radius:50%;place-items:center;transition:background .15s,transform .15s;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 2px 6px oklch(15% .04 305/.18)}.modal-close:hover{background:oklch(98% .1 75);transform:scale(1.05)}.modal-img{aspect-ratio:1;background:oklch(92% .04 80);width:100%;position:relative}.modal-img img{object-fit:cover;width:100%;height:100%}.modal-thumbs{-webkit-backdrop-filter:blur(6px);border-radius:var(--r-md,12px);scrollbar-width:none;background:oklch(98% .01 80/.75);gap:8px;padding:6px;display:flex;position:absolute;bottom:12px;left:12px;right:12px;overflow-x:auto}.modal-thumbs::-webkit-scrollbar{display:none}.modal-thumb{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;flex:none;width:52px;height:52px;padding:0;transition:border-color .2s,transform .2s;overflow:hidden}.modal-thumb img{object-fit:cover;width:100%;height:100%;display:block}.modal-thumb:hover{transform:translateY(-2px)}.modal-thumb.is-active{border-color:var(--c-pink,oklch(70% .18 0))}.modal-body{padding:24px 28px 28px;position:relative}.modal-body h2{margin-bottom:4px;font-size:28px}.modal-body .role{color:var(--muted);margin-bottom:14px;font-size:14px}.modal-body p{font-size:16px;line-height:1.7}.scene-card{border-radius:var(--r-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);background:var(--surface);aspect-ratio:1;position:relative;overflow:hidden}.scene-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scene-card:after{content:"";background:linear-gradient(#0000 45%,oklch(28% .06 305/.78) 100%);position:absolute;inset:0}.scene-card .scene-body{color:var(--surface);z-index:2;padding:22px 22px 20px;position:absolute;bottom:0;left:0;right:0}.scene-card .scene-body h3{color:var(--surface);font-size:20px}.scene-card .scene-body p{color:oklch(95% .02 85);margin-top:4px;font-size:13px}.scene-card{cursor:zoom-in}.scene-lightbox{z-index:999;-webkit-backdrop-filter:blur(12px);cursor:zoom-out;background:oklch(15% .02 305/.92);flex-direction:column;justify-content:center;align-items:center;padding:clamp(24px,4vw,64px);animation:.2s ease-out lightboxFadeIn;display:flex;position:fixed;inset:0}.scene-lightbox img{border-radius:var(--r-md);max-width:88vw;max-height:72vh;box-shadow:var(--shadow-float);cursor:default;object-fit:contain}.scene-lightbox .lightbox-caption{text-align:center;color:oklch(98% .005 85);max-width:80vw;margin-top:20px}.scene-lightbox .lightbox-caption strong{font-family:var(--font-display);text-shadow:0 2px 12px oklch(15% .02 305/.5);margin-bottom:4px;font-size:22px;font-weight:500;display:block}.scene-lightbox .lightbox-caption span{font-family:var(--font-body);color:oklch(85% .02 85/.85);font-size:14px}.scene-lightbox .lightbox-close{color:oklch(99% .005 85);cursor:pointer;background:oklch(99% .005 85/.16);border:1px solid oklch(99% .005 85/.24);border-radius:50%;width:48px;height:48px;font-size:28px;line-height:1;transition:background .15s;position:absolute;top:24px;right:32px}.scene-lightbox .lightbox-close:hover{background:oklch(99% .005 85/.28)}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.launch-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;display:grid}.launch-tile{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;flex-direction:column;gap:12px;min-height:180px;padding:24px;transition:all .2s;display:flex}.launch-tile:hover{box-shadow:var(--shadow-float);transform:translateY(-4px)}.launch-tile .tile-icon{color:oklch(45% .1 75);background:oklch(88% .03 80/.6);border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.launch-tile h3{margin-bottom:4px;font-size:22px}.launch-tile p{color:var(--muted);font-size:14px}.hero-cinema{aspect-ratio:16/9;border-radius:var(--r-xl);width:100%;max-height:640px;box-shadow:var(--shadow-float);border:1px solid var(--border);background:oklch(60% .1 305);position:relative;overflow:hidden}.hero-cinema .hero-bg{position:absolute;inset:0}.hero-cinema .hero-bg img{object-fit:cover;object-position:center 38%;filter:saturate(1.05)brightness(1.02);width:100%;height:100%}.hero-cinema .hero-content{z-index:3;max-width:760px;position:absolute;bottom:clamp(36px,5.5vw,72px);left:clamp(24px,5vw,64px);right:clamp(24px,5vw,64px)}.hero-cinema .hero-content .eyebrow{color:oklch(98% .04 85);letter-spacing:.12em;backdrop-filter:blur(6px);text-shadow:none;background:oklch(28% .06 305/.45);border:1px solid oklch(99% .005 85/.25);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:500}.hero-cinema .hero-content h1,.hero-cinema .hero-content h2,.hero-cinema .hero-content h3,.hero-cinema .hero-content p{color:oklch(99% .005 85);text-shadow:0 2px 6px oklch(15% .04 305/.55),0 4px 20px oklch(15% .04 305/.35)}.hero-cinema .hero-content h1{font-family:var(--font-display);letter-spacing:.04em;text-shadow:0 2px 6px oklch(15% .04 305/.55),0 4px 20px oklch(15% .04 305/.35),0 0 40px oklch(15% .04 305/.2);margin-top:16px;margin-bottom:18px;font-size:clamp(44px,5.5vw,64px);font-weight:700;line-height:1.15}.hero-cinema .hero-content p{text-shadow:0 1px 3px oklch(15% .04 305/.75),0 2px 12px oklch(15% .04 305/.45);color:oklch(98% .02 85);max-width:42ch;margin-bottom:30px;font-size:clamp(15px,1.5vw,17px);font-weight:500;line-height:1.7}.hero-cinema .hero-content .btn-ghost{color:oklch(99% .005 85);backdrop-filter:blur(4px);background:oklch(28% .06 305/.15);border-color:oklch(99% .005 85/.55)}.hero-cinema .hero-content .btn-ghost:hover{background:oklch(28% .06 305/.3);border-color:oklch(99% .005 85/.85)}@media (width<=720px){.hero-cinema{aspect-ratio:16/9;min-height:240px;max-height:none}.hero-cinema .hero-bg img{object-position:center 38%}.hero-cinema .hero-content h1{letter-spacing:.03em;font-size:clamp(36px,8.5vw,44px);font-weight:700}.hero-cinema .hero-content .eyebrow{letter-spacing:.12em;font-size:12px}}body:before{content:"";pointer-events:none;z-index:0;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.35 0 0 0 0 0.20 0 0 0 0.9 0'/></filter><rect width='220' height='220' filter='url(%23n)'/></svg>");position:fixed;inset:0}.app-shell{z-index:1;position:relative}.flourish{color:oklch(75% .13 75);justify-content:center;align-items:center;gap:16px;max-width:460px;margin:36px auto;font-size:0;display:flex}.flourish:before,.flourish:after{content:"";background:linear-gradient(90deg,#0000,oklch(75% .12 75),#0000);flex:1;max-width:160px;height:1px}.flourish svg{width:24px;height:24px}.sparkle{pointer-events:none;color:oklch(85% .15 75);animation:2.6s ease-in-out infinite twinkle;display:inline-flex;position:absolute}.sparkle.s2{animation-duration:3.4s;animation-delay:.4s}.sparkle.s3{animation-duration:2s;animation-delay:1.1s}.sparkle.s4{animation-duration:4.2s;animation-delay:.8s}.sparkle svg{width:100%;height:100%}.story-cover{position:relative}.story-cover:after{content:"";border-radius:var(--r-md);pointer-events:none;z-index:2;border:2px solid oklch(82% .13 75/.55);position:absolute;inset:10px}.story-text .sentence.is-active{color:oklch(20% .04 75);background:oklch(82% .14 75);box-shadow:0 0 0 3px oklch(82% .14 75/.28),0 0 22px 4px oklch(82% .14 75/.45)}.end-pill{background:oklch(95% .1 85);border:2px dashed oklch(75% .12 75);position:relative}.end-pill:before{content:"";pointer-events:none;border:1px solid oklch(78% .12 75/.45);border-radius:32px;position:absolute;inset:-8px}.end-pill:after{content:"★";font-family:var(--font-display);color:var(--accent);background:var(--surface);padding:0 10px;font-size:22px;line-height:1;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.modal{border:1px solid oklch(78% .13 75/.55);position:relative}.modal:before{content:"";pointer-events:none;z-index:0;border:1px dashed oklch(78% .1 75/.5);border-radius:28px;position:absolute;inset:5px}.modal>:not(.modal-close){z-index:1;position:relative}.launch-tile{position:relative;overflow:hidden}.launch-tile:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 35%,oklch(98% .08 85/.7) 50%,#0000 65%);width:60%;transition:left .75s;position:absolute;top:0;bottom:0;left:-130%}.launch-tile:hover:after{left:130%}.card,.scene-card,.character-card,.audio-player,.episode-card{box-shadow:inset 0 1px oklch(100% 0 0/.6),0 2px oklch(28% .06 305/.06),0 12px 24px -8px oklch(28% .06 305/.1)}.card:hover,.scene-card:hover{box-shadow:inset 0 1px oklch(100% 0 0/.7),0 6px oklch(28% .06 305/.08),0 20px 40px -10px oklch(28% .06 305/.18)}.character-card .char-tag{letter-spacing:.04em;border:1px solid oklch(20% .04 305/.15);box-shadow:0 2px 4px oklch(28% .06 305/.25),inset 0 1px oklch(100% 0 0/.3)}.title-sparkle{align-items:center;gap:12px;display:inline-flex}.title-sparkle:before,.title-sparkle:after{content:"";background:linear-gradient(90deg,#0000,oklch(75% .12 75));width:28px;height:1px}.title-sparkle:after{background:linear-gradient(90deg,oklch(75% .12 75),#0000)}.ep-num{align-items:center;gap:8px;display:inline-flex}.ep-num:before{content:"✦";color:var(--accent);font-size:14px}@media (width<=720px){main{padding:24px 16px 80px}.top-nav{flex-wrap:wrap;padding:12px 16px}.top-nav nav{width:100%;padding-bottom:4px;overflow-x:auto}.top-nav nav a{white-space:nowrap;padding:8px 12px;font-size:14px}.episode-card{grid-template-columns:1fr;gap:0;padding:0}.episode-card .ep-cover{width:100%;max-width:none}.episode-card .ep-body{padding:14px}.episode-card h3{margin:4px 0 6px;font-size:19px}}@media (width>=721px) and (width<=960px){.episode-card{grid-template-columns:280px minmax(0,1fr)}.episode-card .ep-body{padding:24px 24px 24px 28px}.episode-card h3{font-size:22px}.episode-card .ep-desc{font-size:15px;line-height:1.65}}
