@font-face{font-family:'Gowun Batang';src:url('assets/fonts/GowunBatang-Regular.woff') format('woff');font-display:swap}@font-face{font-family:'Noto Sans KR';src:url('assets/fonts/GowunDodum-Regular.woff') format('woff');font-display:swap}
:root{color-scheme:dark;--gold:#e8d29c;--ink:#dbe7ff;--lavender:#afa6dd;--edge:#8c9dbc}*{box-sizing:border-box}html,body{margin:0;overflow:hidden;width:100%;height:100%;background:#060b16;color:var(--ink);font:14px 'Noto Sans KR',sans-serif;user-select:none}button{font:inherit;color:#f4ecff;cursor:pointer;border:1px solid #b9bce19c;background:linear-gradient(180deg,#68688bcf,#262c4eea 45%,#454669e8);box-shadow:inset 0 0 0 3px #202945a0,inset 0 0 14px #c3c6f12c,0 3px 14px #0108178c;border-radius:8px;padding:11px 20px;transition:filter .15s,transform .15s}button:hover:not(:disabled){filter:brightness(1.25);transform:translateY(-1px)}button:disabled{opacity:.38;cursor:default}button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button.active{border-color:var(--gold);color:#ffe9ad;box-shadow:inset 0 0 15px #e8d29c33}kbd{font:11px inherit;background:#101829ad;border:1px solid #71819e7a;padding:2px 5px;border-radius:3px;color:#d9e5fb}h1,h2,h3,p{margin:0}small{color:#a5b8d5}.hidden{display:none!important}#world{display:block;width:100%;height:100%;cursor:crosshair}.screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:20;background:#060c1b}.screen h1{font:700 clamp(36px,5vw,72px) 'Gowun Batang',serif;letter-spacing:.08em;color:#f4e6b4;text-shadow:0 0 30px #b9c7ff9c}.moon{font-size:90px;color:var(--gold);text-shadow:0 0 40px #9693e0}#loading p{margin:28px 0 18px}.loadTrack{width:240px;height:3px;background:#253048;margin-bottom:30px}.loadTrack i{display:block;background:var(--gold);height:100%;width:0;transition:width .2s}#title{background:#142544 url('assets/title.webp') center/cover}.titleShade{position:absolute;inset:0;background:linear-gradient(#0b112b20,#12254400 30%,#040c2366 90%)}.titleLogo{position:absolute;top:9%;text-align:center}.titleLogo>span{font:11px serif;letter-spacing:.5em;color:#e5d8b0}.titleLogo h1{margin:9px 0}.titleLogo p{letter-spacing:.7em;font:17px 'Gowun Batang',serif;color:#e5d7fb}#title nav{position:absolute;top:49%;width:240px;display:grid;gap:13px}#title nav button{background-image:url('assets/ui-button.webp');background-size:100% 100%;height:48px;border:0;font:700 18px 'Gowun Batang',serif;text-shadow:0 2px 4px #111;box-shadow:0 6px 25px #050a1955}.titleFoot{position:absolute;bottom:5%;text-align:center;font-size:11px;line-height:1.9;color:#c0cee2}.chapter{position:absolute;bottom:18px;font:9px serif;letter-spacing:.24em}.ornate{border:1px solid #a3acc7b3;background:linear-gradient(130deg,#293552f2,#111b32f5);box-shadow:inset 0 0 0 4px #6c779744,inset 0 0 0 5px #b3bcdb33,0 15px 70px #0008;border-radius:14px}.ornate:before{content:'✧';position:absolute;left:50%;top:-14px;color:var(--gold);font:25px serif;text-shadow:0 0 9px #f3d28f}#hud{position:fixed;inset:0;pointer-events:none}#hud button{pointer-events:auto}.playerHud{position:absolute;top:20px;left:22px;display:flex;align-items:center;width:265px;height:94px;padding:12px;gap:7px}.playerHud img{width:62px;height:76px;object-fit:contain;filter:drop-shadow(0 0 9px #b8b5e688)}.playerHud>div{flex:1}.playerHud span{font-family:'Gowun Batang';font-size:18px}.playerHud b{font:11px sans-serif;color:var(--gold);float:right}.bar{position:relative;height:14px;background:#070d1ad9;border:1px solid #97a3bb77;border-radius:9px;overflow:hidden;margin:6px 0}.bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#803f77,#e1a0b9);transition:width .15s}.bar em{position:absolute;inset:0;text-align:center;font:9px sans-serif;line-height:12px;font-style:normal;color:white;text-shadow:0 1px 3px #000}.bar.exp{height:5px;margin:3px 0}.bar.exp i{background:linear-gradient(90deg,#8aa8e4,#f5e0a9)}.playerHud small{font-size:9px}.location{position:absolute;top:23px;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 2px 6px #000}.location small{font-size:9px;letter-spacing:.2em;display:block}.location strong{font:22px 'Gowun Batang';display:block;margin:6px 0;color:#efe6c6}.location span{font-size:11px;color:#bbd4df}.topRight{position:absolute;right:24px;top:24px;display:flex;align-items:center;gap:15px}.coin{color:#f4d796;font-size:16px}.small{font-size:11px;padding:8px 12px}.bottomHud{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);text-align:center}.skills{display:flex;gap:8px;margin:8px 0}.skills button{position:relative;min-width:106px;height:58px;padding:5px 10px;font-size:11px}.skills kbd{position:absolute;top:-8px;left:9px}.skills em{font-style:normal;color:var(--gold);font-size:10px;display:block}.bottomHud small{font-size:9px;text-shadow:0 1px 4px #000}#elementSelect{display:flex;justify-content:center;gap:5px}#elementSelect button{font-size:10px;padding:5px 14px}#minimap{position:absolute;bottom:20px;right:24px;background:#101a2acb;border:1px solid #a6b7c35f;border-radius:8px}#bossHud{position:absolute;top:110px;left:50%;width:380px;transform:translateX(-50%);text-align:center;font:16px 'Gowun Batang';color:#ffe2d3}#bossHud .bar{height:8px}#bossHud i{background:linear-gradient(90deg,#7462af,#e1bad3)}#toast{position:fixed;left:50%;top:22%;transform:translateX(-50%);padding:12px 25px;background:#0d182be8;border:1px solid #b8b7d385;border-radius:6px;z-index:45;text-align:center;color:#f0e1b8;font-size:13px;pointer-events:none;max-width:85%}#interactHint{position:fixed;bottom:160px;left:50%;transform:translateX(-50%);padding:8px 16px;background:#132b3fde;border:1px solid #c4d1d580;border-radius:6px;pointer-events:none;color:#e6eec7;font-size:12px}#cinemaHint{position:fixed;bottom:35px;width:100%;text-align:center;font-size:11px;color:#e0e9f7;z-index:10;letter-spacing:.13em;text-shadow:0 1px 8px #000}.veil{position:fixed;inset:0;background:#02091db0;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:25}.book{position:relative;width:min(1020px,94vw);height:min(720px,90vh);padding:28px;display:flex;flex-direction:column}.book header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.book header small{font:9px serif;letter-spacing:.25em;color:#b6a9d3}.book h2{font:26px 'Gowun Batang';color:#eee0bc;margin-top:5px}.tabs{display:flex;border-bottom:1px solid #99a3c044;padding-bottom:13px;gap:10px}.tabs button{padding:8px 16px;font-size:12px}#menuContent{flex:1;overflow:auto;padding:20px 3px 12px;scrollbar-color:#7482a0 #142038;scrollbar-width:thin}.book footer{font-size:10px;color:#93a9c2;padding-top:10px;border-top:1px solid #8c9dbc33}.buildTabs{display:flex;gap:10px;margin-bottom:18px}.buildTabs button{flex:1;text-align:left;font-size:13px}.buildTabs small{display:block;font-size:9px;margin-top:4px}.summaryLine{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;color:#cbd4e9;font-size:12px}.summaryLine strong{color:var(--gold)}.skillGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skillCard{border:1px solid #7388a954;border-radius:7px;padding:13px;background:#26324d7a;position:relative}.skillCard h3{font:16px 'Gowun Batang';margin:5px 0;color:#eee4d7}.skillCard p{font-size:10px;line-height:1.7;min-height:34px;color:#b1c4dc}.skillCard button{padding:5px 10px;font-size:10px;margin-top:10px;float:right}.skillCard small{font-size:9px;color:#b9a8df}.skillCard .rank{color:var(--gold);font-size:10px}.slots{display:grid;grid-template-columns:repeat(10,1fr);gap:7px;margin-bottom:20px}.slot{height:75px;border:1px solid #c1b7d34f;border-radius:8px;background:#0d18318a;position:relative;cursor:pointer;padding:3px;display:flex;align-items:center;justify-content:center;color:#6d819f;font:15px serif}.slot img{width:100%;height:100%;object-fit:contain}.slot em{position:absolute;bottom:4px;right:4px;font:8px sans-serif;color:var(--gold)}.relicGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.relicCard{border:1px solid #90a4c344;border-radius:8px;background:#1e2c477a;padding:11px;display:flex;gap:9px;align-items:center;cursor:pointer;text-align:left;min-height:100px}.relicCard img{width:55px;height:65px;object-fit:contain}.relicCard strong{font-size:11px;display:block}.relicCard small{font-size:9px;display:block;line-height:1.5;margin-top:5px}.relicCard.equipped{background:#46506a88}.emptyNote{padding:35px;text-align:center;color:#91a8bd;font:15px 'Gowun Batang';line-height:2}.wishPage{text-align:center;padding:20px}.wishPage h3{font:30px 'Gowun Batang';color:var(--gold);margin:15px}.wishPage p{font-size:12px;line-height:2;color:#b1c4dc}.wishPage .moon{font-size:72px}.wishPage button{margin:20px;min-width:230px}.rates{display:flex;justify-content:center;gap:30px;font-size:11px;margin-top:22px}.settings{max-width:600px;margin:0 auto}.settingRow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #7385a738;padding:18px 0;gap:20px}.settingRow p{font-size:11px;color:#a5b8d5;margin-top:5px}.settingRow input[type=range]{accent-color:#baa7d9;width:170px}.settings .controls{font-size:12px;color:#adc2d7;line-height:2.2;padding-top:20px}.settings .danger{margin-top:20px;border-color:#b9829d}.settings label{font-size:13px}#wish{z-index:40;background:radial-gradient(ellipse,#26395a,#050b1d 68%)}#wishAura{position:absolute;width:500px;height:500px;background:radial-gradient(circle,var(--rarity,#fff) 0%,transparent 65%);opacity:0;filter:blur(35px);transition:opacity 1s}#wishJar{position:relative;width:150px;height:170px;background:linear-gradient(100deg,#293f70,#9ea3cb 40%,#445e91 70%,#142848);border:5px solid #d6cba4;border-radius:35% 35% 44% 44%;box-shadow:inset 0 0 0 7px #273958,inset 0 0 28px #fff4,0 0 35px #9fa4ff55;text-align:center;font:90px serif;color:#e3d19b;line-height:160px}#wishJar:before{content:'';position:absolute;top:-14px;left:12px;right:12px;height:23px;background:linear-gradient(#d6cba4,#74799d);border-radius:50%;border:3px solid #ddd0a5}#wishJar span{position:absolute;font-size:35px;right:23px;top:-17px}#wishJar.shaking{animation:jarShake .17s infinite alternate}#wishCaption{position:absolute;bottom:18%;color:#d7d4f2;font:17px 'Gowun Batang'}#wishResult{z-index:1;text-align:center;animation:reveal 1s both}#wishResult img{display:block;width:200px;height:200px;object-fit:contain;margin:15px auto;filter:drop-shadow(0 0 30px var(--rarity))}#wishResult h2{font:29px 'Gowun Batang';color:var(--rarity)}#wishResult small{letter-spacing:.5em;color:var(--rarity)}#wishResult p{font-size:12px;margin:17px;color:#ccdded}#wishResult button{margin-top:20px}#flash{position:fixed;inset:0;background:white;opacity:0;pointer-events:none;z-index:60}#ending{background:radial-gradient(ellipse,#263951,#070c1c 70%);text-align:center;padding:30px}#ending h1{font-size:38px}#ending p{margin:24px 0 35px;line-height:2;color:#bed1e3;max-width:550px;white-space:pre-line}@keyframes jarShake{from{transform:rotate(-6deg) translateX(-3px)}to{transform:rotate(6deg) translateX(3px)}}@keyframes reveal{from{opacity:0;transform:scale(.7) translateY(25px)}to{opacity:1;transform:none}}@media(max-width:800px){.playerHud{transform:scale(.8);transform-origin:top left;left:12px;top:12px}.location{top:15px}.location strong{font-size:17px}.location span{max-width:230px;display:block;font-size:9px}.topRight{right:12px;top:12px;gap:8px}.topRight .small{font-size:0}.topRight kbd{font-size:11px}#minimap{width:102px;height:78px;right:12px;bottom:15px}.bottomHud{bottom:15px}.skills button{min-width:80px;height:47px;font-size:9px}.bottomHud small{font-size:8px}.book{padding:20px}.relicGrid{grid-template-columns:repeat(3,1fr)}.slots{gap:3px}.slot{height:55px}.skillCard{padding:8px}.skillCard h3{font-size:13px}.titleLogo{top:9%}#title nav{top:42%;gap:8px}#title nav button{height:42px}.titleFoot{bottom:6%}}
/* Readable in-game typography at desktop scale. */
.skillCard p{font-size:12px;min-height:42px}.skillCard small,.skillCard .rank{font-size:11px}.skillCard button{font-size:12px}.relicCard small{font-size:11px}.relicCard strong{font-size:13px}.relicCard{min-height:120px}.summaryLine{font-size:14px}.tabs button{font-size:14px}.buildTabs small{font-size:11px}.settings .controls{font-size:13px}.book footer{font-size:11px}.location span{font-size:12px}.bottomHud small{font-size:11px}#elementSelect button{font-size:12px}.skills button{font-size:12px}.titleFoot{font-size:12px}
.playerHud .bar.health{height:20px;border:4px solid transparent;border-image:url('assets/ui-health.webp') 8 17 8 17 stretch;background:#0b142a}.playerHud .bar.health em{line-height:12px;font-size:10px}.skills button:hover,.tabs button:hover{box-shadow:inset 0 0 18px #bcaedf55,0 0 15px #acb3eb33}
#cinemaHint{pointer-events:none}.buildTabs button{font-weight:600}.relicCard:focus-visible,.slot:focus-visible{outline-color:var(--gold)}
.book{border:38px solid transparent;border-image:url('assets/ui-panel.webp') 190 fill /38px stretch;background:none;padding:0 6px;box-shadow:0 22px 100px #000b;border-radius:0}.book:before{display:none}.book header{margin-bottom:14px}.book header .small{font-size:13px}.book footer{padding-bottom:3px}.playerHud:after{content:'';position:absolute;inset:-3px;border:16px solid transparent;border-image:url('assets/ui-panel.webp') 190 /16px stretch;pointer-events:none}.wishPreview{height:135px;width:135px;object-fit:contain;filter:drop-shadow(0 0 25px #b5a6ef55)}#wishJar{width:230px;height:285px;background:none;border:0;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 35px #b9a8f888);line-height:normal}#wishJar img{display:block;width:100%;height:100%;object-fit:contain}#wishJar:before,#wishJar>span{display:none}@media(max-width:800px){.book{border-width:28px;border-image-width:28px;padding:0 2px}.skillGrid{gap:8px}.buildTabs{gap:6px}.buildTabs button{padding:8px;font-size:12px}}
