@font-face{font-family:GilBrush;src:url('assets/GapyeongHanseokbongR.ttf') format('truetype');font-display:swap}
:root{--cast-color:#b4dbe6}
.header{height:88px!important;padding-inline:3.3vw!important;background:linear-gradient(#06101bea,#07132180)!important;backdrop-filter:blur(12px);border-bottom:1px solid #b9c9d01a!important}
.header .brand{font-size:25px;letter-spacing:-.06em}.header .desktop-nav{gap:clamp(18px,2.3vw,44px);align-items:center}.header .desktop-nav a{text-align:center;display:flex;flex-direction:column;gap:7px;font-size:15px;color:#d3d4ce}.header .desktop-nav small{font:9px/1 Georgia,serif;letter-spacing:.09em;color:#738490}.header .desktop-nav a.active,.header .desktop-nav a.active small{color:#d6b77f}.header .desktop-nav a.active:after{display:none}.header .desktop-nav a:hover{color:#ecd1a1}
.hero-title em,.hero-title em:after{border:0!important;background:none!important;text-decoration:none!important}.hero-title em:after{display:none!important}
.cast-home{height:100svh;min-height:min(760px,100svh);position:relative;isolation:isolate;overflow:clip;background:#070f17;scroll-margin-top:-80px!important;color:#e4e3dc;--look-x:0;--look-y:0;--cast-color:#b4dbe6}
.cast-scene{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s ease}.cast-scene.selected{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.cast-landscape{position:absolute;inset:-3%;background:center/cover;opacity:.2;filter:saturate(.5);transform:translate(calc(var(--look-x)*-9px),calc(var(--look-y)*-5px)) scale(1.03);transition:transform 1s ease}
.cast-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 42%,#06101b00 0,#06101b60 60%,#050e17d9 100%),linear-gradient(90deg,#060f16c9 0%,#07111b22 40%,#060f16c4 69%,#07101cec 100%)}
.cast-world{position:absolute;width:46vw;height:56%;max-width:870px;left:19%;top:25%;transform:translate(calc(var(--look-x)*-18px),calc(var(--look-y)*-9px));transition:transform .8s ease;pointer-events:none}
.cast-world-photo{position:absolute;inset:0;overflow:hidden;border-radius:49%;transform:rotate(-24deg);border:1px solid color-mix(in srgb,var(--cast-color),transparent 54%);opacity:.88}
.cast-world-photo img{height:100%;width:100%;object-fit:cover;transform:rotate(24deg) scale(1.45);filter:saturate(.62) brightness(.75)}
.cast-world-orbit{position:absolute;inset:-3% -7%;border:1px solid color-mix(in srgb,var(--cast-color),transparent 70%);border-radius:50%;transform:rotate(-28deg)}.cast-world-orbit.second{inset:10% -11%;transform:rotate(-38deg);opacity:.6}.cast-world-orbit:after{content:'';position:absolute;left:8%;top:22%;width:5px;height:5px;background:var(--cast-color);transform:rotate(45deg);box-shadow:0 0 16px var(--cast-color)}
.cast-world-pattern{position:absolute;inset:0;border-radius:50%;background:url('assets/closing-lattice.svg') center/190px;opacity:.075;transform:rotate(-24deg);mask-image:linear-gradient(90deg,#000,transparent 57%)}
.cast-figure{position:absolute;left:16%;top:112px;width:49%;height:calc(100% - 208px);overflow:hidden;pointer-events:none;mask-image:linear-gradient(#000 65%,#000d 78%,transparent 100%);transform:translate(calc(var(--look-x)*18px),calc(var(--look-y)*8px));transition:transform .65s ease}
.cast-arrival,.cast-float{width:100%;height:100%;position:relative}
.cast-art{position:absolute;left:50%;top:0;width:auto;max-width:none;height:125%;object-fit:contain;object-position:center top;transform:translate(-50%,var(--portrait-offset,0%)) scale(var(--portrait-scale,1));transform-origin:center top;filter:drop-shadow(0 14px 25px #0005)}
[data-person=yenim]{--portrait-scale:.9;--portrait-offset:4%}
[data-person=seollok]{--portrait-scale:.91;--portrait-offset:3.8%}
[data-person=mago]{--portrait-scale:1.22;--portrait-offset:4%}
[data-person=muntak]{--portrait-scale:1.57;--portrait-offset:3.4%}
[data-person=sera]{--portrait-scale:1.06;--portrait-offset:3.2%}
[data-person=mujin]{--portrait-scale:2.63;--portrait-offset:.2%}
[data-person=raon]{--portrait-scale:1.06;--portrait-offset:3.6%}
[data-person=narae]{--portrait-scale:.95;--portrait-offset:3.5%}
[data-person=ihon]{--portrait-scale:1.04;--portrait-offset:.8%}
[data-person=changhui]{--portrait-scale:1.19;--portrait-offset:3.8%}
.cast-kicker{position:absolute;left:4vw;top:116px;z-index:5;pointer-events:none}.cast-kicker>span{font:9px/1.5 Georgia,serif;letter-spacing:.17em;color:#bca16f}.cast-kicker p{font-size:12px;letter-spacing:.02em;margin-top:6px;color:#8e9fae}
.cast-chooser{position:absolute;top:174px;bottom:100px;left:3.5%;width:146px;z-index:6;display:flex;flex-direction:column;align-items:center}
.cast-rail{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;width:100%;padding:15px 18px;display:flex;flex-direction:column;gap:21px;mask-image:linear-gradient(transparent,#000 10px,#000 calc(100% - 10px),transparent)}.cast-rail::-webkit-scrollbar{display:none}
.cast-thumb{position:relative;isolation:isolate;display:block;width:91px;height:98px;min-height:98px;flex:none;transform:rotate(-6deg);border:1px solid #b1b8b62b;padding:0;background:#14212cc4;transition:transform .4s,border-color .4s,opacity .4s;opacity:.6;text-align:left}
.cast-thumb:nth-child(even){align-self:flex-end;transform:rotate(5deg)}.cast-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 7%;filter:grayscale(1) sepia(.25);transition:filter .4s;clip-path:inset(0)}
.cast-thumb span{position:absolute;bottom:-1px;inset-inline:-1px;padding:8px 5px 4px;background:linear-gradient(transparent,#041320ed);font-size:10px;letter-spacing:.03em;color:#d3d6d7;z-index:2;text-align:right}.cast-thumb:hover{opacity:1;transform:rotate(0) scale(1.04)}
.cast-thumb[aria-selected=true]{opacity:1;transform:rotate(0) scale(1.05);border-color:var(--cast-color);box-shadow:0 0 15px #6bcadc12}.cast-thumb[aria-selected=true] img{filter:none}.cast-thumb[aria-selected=true]:before{content:'';position:absolute;inset:-7px;border:1px solid var(--cast-color);border-radius:47% 42% 49% 40%;transform:rotate(-22deg);opacity:.7;pointer-events:none}.cast-thumb i{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--cast-color);transform:scaleX(0);transform-origin:left;z-index:4}
.cast-rail-arrow{height:22px;line-height:22px;font-size:22px;color:#9aaeb5;flex:none;width:100%}.cast-rail-arrow:hover{color:#e0bd83}
.cast-words{position:absolute;left:70%;right:5.4%;top:27%;z-index:4}.cast-affiliation{font-size:12px;letter-spacing:.15em;color:var(--cast-color);display:flex;align-items:center;gap:20px}.cast-affiliation>span{font:8px/1.3 Georgia,serif;letter-spacing:.16em;color:#6c828d}
.cast-words h2{font-family:GilBrush,serif;font-size:clamp(63px,5.4vw,110px);font-weight:400;line-height:1.3;letter-spacing:-.06em;margin:12px 0 0;color:#edeadf;white-space:nowrap}
.cast-roman{font:italic 17px/1.5 Georgia,serif;letter-spacing:.18em;color:var(--cast-color);margin:0 0 25px 3px;opacity:.8}
.cast-divider{position:relative;width:90%;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--cast-color),transparent 45%),transparent);margin:23px 0 28px}.cast-divider i{position:absolute;left:0;top:-2px;width:5px;height:5px;border:1px solid var(--cast-color);background:#07121c;transform:rotate(45deg)}
.cast-summary{font-size:clamp(16px,1.15vw,22px);color:#d2d7d3;line-height:1.7;word-break:keep-all;letter-spacing:-.04em;max-width:360px}.cast-words blockquote{font-size:clamp(13px,1vw,17px);color:#96a8b4;line-height:1.9;word-break:keep-all;margin:22px 0 27px;letter-spacing:-.02em}
.cast-read{display:inline-flex;align-items:center;gap:39px;font-size:12px;letter-spacing:.06em;color:var(--cast-color);padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--cast-color),transparent 65%)}.cast-read>span{font-size:19px}.cast-read:hover{color:#fff;border-color:#ddd}
.cast-place{position:absolute;left:26%;bottom:105px;z-index:3;color:#89a4b2;font-size:9px;letter-spacing:.13em;pointer-events:none}
.cast-bottom{position:absolute;left:4.3%;right:5%;bottom:44px;z-index:6;display:flex;align-items:center;gap:28px;color:#829aa9}.cast-index{font:12px/1 Georgia,serif;display:flex;align-items:center;gap:14px;letter-spacing:.12em}.cast-index b{font-weight:400;font-size:23px;color:#d3b67e}.cast-index i{height:1px;width:27px;background:#a58d6566}.cast-bottom button{font-size:10px;color:#a1b7c4;display:flex;gap:8px;align-items:center}.cast-bottom button span{font-size:12px;color:#c3a675}.cast-bottom-mark{margin-left:auto;font-size:8px;letter-spacing:.18em;color:#688696}.cast-bottom-mark i{font-style:normal;padding-inline:14px;color:#b9a27d}.cast-world-link{font-size:11px;color:#c3b38e;margin-left:20px}.cast-world-link span{margin-left:20px}
.cast-atmosphere{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.45;background-image:radial-gradient(#8ca1b020 .5px,transparent .5px);background-size:4px 4px;mask-image:linear-gradient(90deg,#000,transparent 30%,transparent 70%,#000)}.cast-atmosphere i{position:absolute;width:130vw;height:68vh;left:-18vw;top:-15vh;border:1px solid #b2a17b38;border-radius:50%;transform:rotate(-16deg)}.cast-atmosphere i:nth-child(2){top:57%;left:-28%;transform:rotate(23deg)}.cast-atmosphere i:nth-child(3){width:55vw;height:160vh;left:70vw;top:-20%;transform:rotate(14deg)}
.cast-home.is-running .selected .cast-arrival{animation:castEnter 1.1s cubic-bezier(.18,.7,.18,1) both}.cast-home.is-running .selected .cast-float{animation:castFloat 7s ease-in-out 1.1s infinite}.cast-home.is-running .selected .cast-world-photo{animation:castWorldEnter 1.4s cubic-bezier(.2,.65,.2,1) both}.cast-home.is-running .selected .cast-words>*{animation:castWords .9s both}.cast-home.is-running .selected .cast-roman{animation-delay:.12s}.cast-home.is-running .selected .cast-summary{animation-delay:.2s}.cast-home.is-running .selected blockquote{animation-delay:.3s}.cast-home.is-running .selected .cast-read{animation-delay:.4s}.cast-home.is-rotating .cast-thumb[aria-selected=true] i{animation:castClock 10s linear both}
@keyframes castEnter{from{opacity:0;transform:translate(65px,20px) scale(1.04);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes castFloat{0%,100%{transform:translateY(0) rotate(-.1deg)}50%{transform:translateY(-9px) rotate(.1deg)}}@keyframes castWords{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}@keyframes castWorldEnter{from{opacity:0;transform:rotate(-32deg) scale(.83)}to{opacity:.88;transform:rotate(-24deg) scale(1)}}@keyframes castClock{to{transform:scaleX(1)}}
.cast-home:not(.is-running) .cast-float{animation-play-state:paused!important}.motion-paused .cast-scene{transition:none}.cast-record-meta{color:#aa997b!important;font-size:12px!important;letter-spacing:.08em}.cast-record-quote{padding:20px 0;color:#cebb95;line-height:1.8}.cast-record-tags{display:flex;flex-wrap:wrap;gap:12px;color:#85a8bc;font-size:11px;margin-top:30px}.cast-record-tags span{border:1px solid #63839344;padding:5px 13px}.cast-record-bio p{line-height:1.9;margin-bottom:18px}.cast-record-age{display:flex;gap:15px;margin-top:25px}.cast-record-age button{font-size:12px;border:1px solid #bfa47566;padding:8px 17px}.cast-record-young{max-height:55vh;object-fit:contain;display:block;margin:25px auto 0}
.studio-mark{padding:9%!important;overflow:visible}.studio-logo{object-fit:contain!important;aspect-ratio:1;animation:none!important}.studio-mark .logo-wipe{animation:none!important;transform:none!important;opacity:1!important}
.section-flare{position:fixed;inset:88px 0 auto;height:1px;background:linear-gradient(90deg,transparent,#97e4ee,transparent);box-shadow:0 0 20px #72d7e4;z-index:60;pointer-events:none;opacity:0}.section-flare.active{animation:sectionFlare .7s ease both}@keyframes sectionFlare{0%{opacity:0;transform:translateY(0) scaleX(.05)}30%{opacity:.8;transform:translateY(12vh) scaleX(1)}100%{opacity:0;transform:translateY(65vh) scaleX(.5)}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
.in-character-section .bgm-toggle{left:auto!important;right:18px!important;top:112px!important;bottom:auto!important;width:33px;height:33px;padding:0!important;border-radius:50%;font-size:0!important;display:grid;place-items:center;background:#0a1829aa}.in-character-section .bgm-toggle:after{content:'♪';font-size:19px;color:#9cabb4}.in-character-section .bgm-toggle[aria-pressed=true]:after{color:#e0c496}.in-character-section .bgm-toggle.sfx-toggle{top:158px!important}.in-character-section .bgm-toggle.sfx-toggle:after{content:'◇';font-size:20px}
.cast-thumb img{left:-50%;top:0;right:auto;bottom:auto;width:200%;height:200%;clip-path:inset(0 25% 50% 25%);object-position:center top}
.hero-title,.hero-title .hero-line{letter-spacing:-.035em!important}
.hero-title .hero-line.second{letter-spacing:.015em!important}
@media(min-width:1700px){.cast-chooser{width:175px;top:190px;bottom:120px}.cast-thumb{width:112px;height:116px;min-height:116px}.cast-rail{gap:25px}.cast-kicker{top:125px}.cast-words{top:27%}.cast-words blockquote{margin-block:28px 34px}}
@media(max-width:1100px) and (min-width:701px){.header .desktop-nav{gap:16px}.header .desktop-nav a{font-size:12px}.header .desktop-nav small{font-size:7px}.cast-chooser{left:2%;width:124px}.cast-thumb{width:77px;height:88px;min-height:88px}.cast-words{left:68%;right:4%;top:26%}.cast-words h2{font-size:62px}.cast-affiliation>span{display:none}.cast-bottom-mark{display:none}.cast-world-link{margin-left:auto}.cast-summary{font-size:16px}.cast-words blockquote{font-size:13px}}
@media(max-width:700px){
 .header{height:66px!important;padding-inline:20px!important}.header .brand{font-size:21px}.header .desktop-nav{display:none!important}.header .site-menu{display:block!important}.header .site-menu nav a{display:block!important}.section-flare{top:66px}
 .cast-home{height:auto;min-height:1060px;height:calc(100svh + 220px);max-height:1250px;scroll-margin-top:-66px!important}.cast-kicker{left:23px;top:90px}.cast-kicker>span{font-size:8px}.cast-kicker p{font-size:10px}
 .cast-landscape{opacity:.32}.cast-vignette{background:linear-gradient(0deg,#071320 22%,#071320b8 40%,#07132010 75%,#071320a8 100%)}.cast-world{width:95%;height:31%;left:8%;top:20%}.cast-world-photo{opacity:.7}.cast-world-photo img{filter:saturate(.65) brightness(.62)}
 .cast-figure{left:4%;top:125px;height:430px;width:92%}
 .cast-scene:after{content:'';position:absolute;inset:42% 0 0;z-index:3;pointer-events:none;background:linear-gradient(transparent,#071320 22%)}
 .cast-words{left:24px;right:24px;top:60%;padding-left:0;z-index:4}.cast-affiliation{font-size:10px;gap:15px}.cast-affiliation>span{font-size:7px}.cast-words h2{font-size:55px;line-height:1.2;margin-top:6px}.cast-roman{font-size:11px;letter-spacing:.18em;margin:2px 0 0}.cast-divider{margin:14px 0 15px;width:100%}.cast-summary{font-size:15px;line-height:1.65;max-width:none}.cast-words blockquote{font-size:13px;margin:12px 0 12px;line-height:1.75}.cast-read{font-size:11px;padding-block:5px;gap:24px}
 .cast-chooser{left:0;right:0;width:auto;top:49%;bottom:auto;height:86px;flex-direction:row;padding-inline:8px;gap:1px}.cast-rail{flex-direction:row;gap:13px;overflow-x:auto;overflow-y:hidden;height:100%;padding:9px 13px;mask-image:none;align-items:center}.cast-thumb,.cast-thumb:nth-child(even){width:56px;height:65px;min-height:65px;align-self:center;transform:none}.cast-thumb span{font-size:8px;padding:5px 3px 1px}.cast-thumb[aria-selected=true]{transform:scale(1.03)}.cast-rail-arrow{width:23px;height:50px;transform:rotate(-90deg)}.cast-place{display:none}.cast-bottom{left:22px;right:22px;bottom:22px;gap:20px}.cast-index{font-size:10px;gap:8px}.cast-index b{font-size:18px}.cast-index i{width:18px}.cast-bottom button{font-size:10px}.cast-bottom-mark,.cast-world-link{display:none}
 .bgm-toggle{font-size:9px!important;padding:6px 9px!important}.motion-toggle{font-size:9px!important;bottom:12px!important;right:12px!important}
}
@media(prefers-reduced-motion:reduce){html:not(.site-motion-on) .cast-home .cast-float{animation:none!important}html:not(.site-motion-on) .cast-landscape,html:not(.site-motion-on) .cast-figure,html:not(.site-motion-on) .cast-world{transform:none!important}}

/* Original game-opening footage: the complete emblem stays inside its circular frame. */
.studio-mark .studio-opening,.studio-mark .studio-opening-fallback{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;mix-blend-mode:multiply;pointer-events:none}
.studio-mark .studio-opening[hidden],.studio-mark .studio-opening-fallback[hidden]{display:none}

/* Show the entire in-game composition, including Gil and the drifting petals. */
.story-film{scroll-margin-top:110px}
.story-film video,.story-film .story-video-fallback{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#071423}
.story-film video[hidden],.story-film .story-video-fallback[hidden]{display:none}
/* Calm chronicle atmosphere. The copy and the date stay fixed. */
.chronicle-cover{position:relative;isolation:isolate;overflow:hidden;background:#0d2034}
.chronicle-cover::before{content:'';position:absolute;inset:-4%;z-index:-3;background:url('assets/scene-01.webp') center/cover;filter:brightness(.62) saturate(.72);transform:scale(1.04);animation:chronicleLandscape 30s ease-in-out infinite alternate;animation-play-state:paused;pointer-events:none}
.chronicle-cover::after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#08172ce8,#0b203897 58%,#10263c55);pointer-events:none}
.chronicle-cover-copy,.chronicle-cover-art{position:relative;z-index:2}
.chronicle-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}
.chronicle-atmosphere::before{content:'';position:absolute;inset:15% -25% -55%;background:radial-gradient(ellipse at 24% 65%,#c9e3ee21,transparent 43%),radial-gradient(ellipse at 80% 77%,#adb3ac1c,transparent 49%);filter:blur(20px);animation:chronicleMist 24s ease-in-out infinite alternate;animation-play-state:paused}
.chronicle-atmosphere i{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:#e5ca94;box-shadow:0 0 7px #cfb98777;opacity:0;animation:chronicleDust var(--drift) ease-in-out var(--delay) infinite;animation-play-state:paused}
.chronicle-cover-art{overflow:hidden;background:#1c344512;box-shadow:inset 0 0 40px #97bad008}
.chronicle-cover-art::after{content:'';position:absolute;top:0;left:0;width:40%;height:1px;background:linear-gradient(90deg,transparent,#ecd8accc,transparent);box-shadow:0 0 12px #d3bd7955;animation:chronicleFrameLight 15s ease-in-out infinite;animation-play-state:paused;pointer-events:none}
.chronicle-cover.is-ambient-running::before,.chronicle-cover.is-ambient-running .chronicle-atmosphere::before,.chronicle-cover.is-ambient-running .chronicle-atmosphere i,.chronicle-cover.is-ambient-running .chronicle-cover-art::after{animation-play-state:running}
@keyframes chronicleLandscape{from{transform:scale(1.04) translate(-.65%,.25%)}to{transform:scale(1.09) translate(.65%,-.45%)}}
@keyframes chronicleMist{from{transform:translate(-6%,4%);opacity:.45}to{transform:translate(6%,-5%);opacity:.9}}
@keyframes chronicleDust{0%{transform:translate(0,18px);opacity:0}25%,60%{opacity:.42}100%{transform:translate(25px,-65px);opacity:0}}
@keyframes chronicleFrameLight{0%,12%{transform:translateX(-105%);opacity:0}25%,70%{opacity:.7}88%,100%{transform:translateX(355%);opacity:0}}
.motion-paused .chronicle-cover::before,.motion-paused .chronicle-atmosphere::before,.motion-paused .chronicle-atmosphere i,.motion-paused .chronicle-cover-art::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){html:not(.site-motion-on) .chronicle-cover::before,html:not(.site-motion-on) .chronicle-atmosphere::before,html:not(.site-motion-on) .chronicle-atmosphere i,html:not(.site-motion-on) .chronicle-cover-art::after{animation:none!important}}
@media(max-width:700px){.story-film{scroll-margin-top:85px}.story-film figcaption{font-size:8px;letter-spacing:.1em}.chronicle-atmosphere i:nth-child(even){display:none}}
