:root{--bg: #eff1f5;--bg-soft: #e1e5ec;--ink-dark: #2b2521;--ink: #f4ece2;--ink-dim: rgba(244, 236, 226, .62);--accent: #e8c9a8;--accent-2: #b8c9b0;--panel: rgba(28, 21, 17, .78);--panel-line: rgba(244, 236, 226, .12);--serif-ko: "Gowun Batang", "Apple SD Gothic Neo", serif;--serif-en: "Cormorant Garamond", "Gowun Batang", serif;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--clock-ink: #2a211b;--chrome-bottom: calc(clamp(18px, 3.2vh, 32px) + env(safe-area-inset-bottom)) ;--chrome-side: calc(clamp(18px, 3vw, 44px) + env(safe-area-inset-right)) ;--chrome-title: clamp(22px, 2.4vw, 32px);--chrome-h: calc(var(--chrome-title) + 22px);--chrome-glass: rgba(255, 255, 255, .68);--clock-face: #c1a895}html:lang(ja){--serif-ko: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif}html:lang(zh-Hans){--serif-ko: "Noto Serif SC", "Songti SC", "SimSun", serif}html:lang(zh-Hant){--serif-ko: "Noto Serif TC", "Songti TC", "PMingLiU", serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--serif-ko);-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit}.stage{position:relative;width:100%;height:100dvh;overflow:auto;overscroll-behavior:none;scrollbar-width:none}.stage::-webkit-scrollbar{display:none}.scene{position:relative;width:max(100vw,calc(100dvh * 16 / 9));height:max(100dvh,56.25vw);background:var(--bg-soft) url(/yuna/v3/plate-lqip.jpg) center / cover;overflow:hidden;isolation:isolate;transition:transform .55s var(--ease-out)}.scene__picture,.scene__img{display:block;width:100%;height:100%}.scene__img{object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease-soft)}.scene.is-ready .scene__img{opacity:1}.scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,transparent 60%,rgba(20,12,8,.14) 100%);z-index:6}.ambient{position:absolute;pointer-events:none;z-index:4;border-radius:50%;mix-blend-mode:screen}.ambient--lamp{left:var(--lamp-x, 21.5%);top:var(--lamp-y, 39%);width:13%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,196,120,.3),transparent 62%);animation:lamp-flicker 5.5s ease-in-out infinite}.ambient--window{left:100%;top:30%;width:46%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,214,160,.2),transparent 60%);animation:window-breathe 9s ease-in-out infinite}@keyframes lamp-flicker{0%,to{opacity:.85}37%{opacity:1}58%{opacity:.8}74%{opacity:.95}}@keyframes window-breathe{0%,to{opacity:.7}50%{opacity:1}}.dust{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;background-image:radial-gradient(1.5px 1.5px at 18% 64%,rgba(255,240,220,.9),transparent),radial-gradient(1px 1px at 33% 42%,rgba(255,240,220,.8),transparent),radial-gradient(2px 2px at 71% 55%,rgba(255,240,220,.7),transparent),radial-gradient(1.2px 1.2px at 84% 30%,rgba(255,240,220,.85),transparent),radial-gradient(1px 1px at 55% 78%,rgba(255,240,220,.8),transparent),radial-gradient(1.6px 1.6px at 92% 66%,rgba(255,240,220,.75),transparent);background-repeat:no-repeat;animation:dust-drift 28s linear infinite}@keyframes dust-drift{0%{transform:translateZ(0)}50%{transform:translate3d(1.2%,-2.5%,0)}to{transform:translateZ(0)}}.scene__canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block;z-index:1;opacity:0;transition:opacity .9s var(--ease-soft)}.scene.is-gl .scene__canvas{opacity:1}.scene__canvas{touch-action:pan-x pan-y!important}.hits{position:absolute;inset:0;z-index:5;pointer-events:none}.hit{position:absolute;padding:0;border:0;border-radius:10px;background:none;pointer-events:none}.scene.no-gl .hit{pointer-events:auto;cursor:pointer}.hit:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.scene.is-debug .hit{outline:1px dashed rgba(255,80,80,.7)}.hit:after{content:"";position:absolute;left:var(--dx, 50%);top:var(--dy, 50%);width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#ffffffeb;box-shadow:0 1px 4px #28190f73;pointer-events:none;opacity:0;animation:tap-pulse 2.6s var(--ease-out) infinite;animation-delay:calc(var(--i, 0) * -.41s);transition:opacity .3s}.scene.is-ready .hit:after{opacity:1}.scene.is-lit .hit:after{opacity:0}@media(hover:hover){.hit:after{width:8px;height:8px;margin:-4px 0 0 -4px}}@keyframes tap-pulse{0%{box-shadow:0 1px 4px #28190f73,0 0 #ffffffb3}70%,to{box-shadow:0 1px 4px #28190f73,0 0 0 12px #fff0}}.prop-label{position:absolute;transform:translate(-50%,calc(-100% - 4px));padding:7px 14px;white-space:nowrap;font-size:15px;font-weight:700;letter-spacing:.04em;color:var(--ink);background:#18110dbd;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--panel-line);border-radius:999px;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-soft),transform .45s var(--ease-out)}.prop-label.is-on{opacity:1;transform:translate(-50%,calc(-100% - 12px))}.prop-label.is-below{transform:translate(-50%,4px)}.prop-label.is-below.is-on{transform:translate(-50%,12px)}.sign{position:fixed;left:50%;bottom:var(--chrome-bottom);transform:translate(-50%);z-index:5;pointer-events:auto;display:flex;align-items:center;box-sizing:border-box;height:var(--chrome-h);padding:0 24px;background:var(--chrome-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(43,37,33,.1);border-radius:999px;box-shadow:0 2px 10px #2b252114;opacity:0;animation:rise 1.2s var(--ease-out) 1.1s forwards}.sign__title{margin:0;font-family:var(--serif-ko);font-weight:400;font-size:var(--chrome-title);letter-spacing:.18em;line-height:1;color:var(--ink-dark)}@keyframes rise{to{opacity:1;transform:translate(-50%)}}@keyframes rise-plain{to{opacity:1;transform:none}}.all-apps{position:fixed;right:var(--chrome-side);bottom:var(--chrome-bottom);z-index:5;display:flex;align-items:center;box-sizing:border-box;height:var(--chrome-h);padding:0 20px;background:var(--chrome-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(43,37,33,.12);border-radius:999px;box-shadow:0 2px 10px #2b252114;cursor:pointer;font-family:var(--serif-en);font-size:16px;letter-spacing:.06em;color:var(--ink-dark);opacity:0;animation:rise-plain 1.2s var(--ease-out) 1.5s forwards;transition:background .3s,border-color .3s}.all-apps:hover{background:#ffffffeb;border-color:#2b252138}.all-apps__count{font-size:20px;font-weight:500;color:#9a6a43;margin-right:2px}.corner{position:fixed;right:var(--chrome-side);top:calc(clamp(14px,2.4vh,24px) + env(safe-area-inset-top));z-index:7;display:flex;align-items:flex-start;gap:8px;opacity:0;animation:rise-plain 1.2s var(--ease-out) 1.5s forwards}.lang{position:relative}.lang__btn{display:flex;align-items:center;gap:7px;box-sizing:border-box;height:var(--chrome-h);padding:0 16px;background:var(--chrome-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(43,37,33,.12);border-radius:999px;box-shadow:0 2px 10px #2b252114;color:var(--ink-dark);font-size:14px;letter-spacing:.04em;cursor:pointer;transition:background .3s,border-color .3s}.lang__btn:hover,.lang__btn[aria-expanded=true]{background:#ffffffeb;border-color:#2b252138}.lang__icon{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.lang-menu{position:absolute;right:0;top:calc(100% + 8px);display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:14px;background:#fffffff0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(43,37,33,.12);box-shadow:0 10px 30px #2b252129}.lang-menu[hidden]{display:none}.lang-menu a{padding:8px 14px;border-radius:9px;color:var(--ink-dark);text-decoration:none;font-size:14px;letter-spacing:.02em;white-space:nowrap;transition:background .2s}.lang-menu a:hover,.lang-menu a:focus-visible{background:#2b25210f;outline:none}.lang-menu a[aria-current=page]{color:#9a6a43;font-weight:700}.sound__btn{display:grid;place-items:center;box-sizing:border-box;width:var(--chrome-h);height:var(--chrome-h);padding:0;background:var(--chrome-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(43,37,33,.12);border-radius:999px;box-shadow:0 2px 10px #2b252114;color:var(--ink-dark);cursor:pointer;transition:background .3s,border-color .3s}.sound__btn:hover,.sound__btn.is-on{background:#ffffffeb;border-color:#2b252138}.sound__btn:focus-visible,.lang__btn:focus-visible{outline:2px solid #9a6a43;outline-offset:2px}.sound__icon{width:20px;height:20px;overflow:visible}.sound__note{fill:currentColor;transform-box:view-box;transform-origin:12px 18px;transition:color .3s}.sound__stem{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.sound__beam{fill:none;stroke:currentColor;stroke-width:3}.sound__slash{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:opacity .25s}.sound__btn:not(.is-on) .sound__note{opacity:.72}.sound__btn.is-on{color:#9a6a43}.sound__btn.is-on .sound__slash{opacity:0}.sound__btn.is-on .sound__note{animation:sound-bob var(--sound-bob, 1.2s) ease-in-out infinite}.sound__btn.is-on.is-loading .sound__note{animation:sound-wait .9s ease-in-out infinite}@keyframes sound-bob{0%,to{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(6deg) translateY(-1px)}}@keyframes sound-wait{0%,to{opacity:.35}50%{opacity:1}}.sound__credit{position:absolute;right:0;top:calc(100% + 8px);margin:0;padding:6px 12px;white-space:nowrap;font-family:var(--serif-en);font-size:13px;letter-spacing:.02em;color:var(--ink-dark);background:#ffffffdb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(43,37,33,.1);border-radius:999px;box-shadow:0 2px 10px #2b252114;animation:rise-plain .5s var(--ease-out)}.sound__credit[hidden],.corner:has(.lang__btn[aria-expanded=true]) .sound__credit{display:none}.sound__credit a,.panel__credit a{color:inherit;text-decoration:underline;text-decoration-color:#2b25214d;text-underline-offset:2px}.sound__credit a:hover,.panel__credit a:hover{text-decoration-color:currentColor}.panel__credit a{white-space:nowrap}.intro{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:var(--bg);transition:opacity 1.1s var(--ease-soft),visibility 0s 1.1s}.intro.is-done{opacity:0;visibility:hidden;pointer-events:none}.intro__text{margin:0;font-family:var(--serif-ko);font-size:clamp(28px,5vw,56px);font-weight:400;letter-spacing:.18em;color:var(--ink-dark);opacity:0;animation:intro-in 1.6s var(--ease-out) .1s forwards}@keyframes intro-in{0%{opacity:0;letter-spacing:.3em}to{opacity:1;letter-spacing:.18em}}.backdrop{position:fixed;inset:0;z-index:9;background:#1e1a162e;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-soft)}.backdrop.is-open{opacity:1;pointer-events:auto}.panel{--ink: var(--ink-dark);--ink-dim: rgba(43, 37, 33, .6);--panel-line: rgba(43, 37, 33, .1);--accent: #b07a4c;--accent-2: #6f8a66;position:fixed;top:0;right:0;bottom:0;z-index:10;width:min(440px,100vw);color:var(--ink);background:#fffffff5;backdrop-filter:blur(22px) saturate(1.2);-webkit-backdrop-filter:blur(22px) saturate(1.2);border-left:1px solid var(--panel-line);box-shadow:-10px 0 40px #2b25211f;transform:translate(100%);visibility:hidden;transition:transform .55s var(--ease-out),visibility 0s linear .55s;display:flex;flex-direction:column}.panel.is-open{transform:none;visibility:visible;transition:transform .55s var(--ease-out),visibility 0s}.panel__scroll{overflow-y:auto;padding:clamp(28px,5vh,56px) clamp(22px,3vw,36px) 48px;flex:1;overscroll-behavior:contain}.panel__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:1px solid var(--panel-line);border-radius:50%;background:#2b25210d;font-size:22px;line-height:1;cursor:pointer;z-index:1;transition:background .25s,transform .25s var(--ease-out)}.panel__close:hover{background:#2b25211a;transform:rotate(90deg)}.panel__eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.16em;color:var(--accent-2)}.panel__title{margin:0 0 26px;font-family:var(--serif-ko);font-weight:700;font-size:clamp(26px,2.8vw,32px);line-height:1.2}.app+.app{margin-top:36px;padding-top:32px;border-top:1px solid var(--panel-line)}.app__head{display:flex;align-items:center;gap:14px}.app__icon{width:64px;height:64px;border-radius:15px;box-shadow:0 4px 14px #2b25212e}.app__name{margin:0;font-size:18px;font-weight:700;line-height:1.25}.panel--single .panel__eyebrow{margin-bottom:20px}.panel--single .panel__title{display:none}.panel--single .app__name{font-family:var(--serif-ko);font-size:clamp(19px,1.7vw,22px);line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.panel--single .app__genre{display:none}.app__genre{margin:4px 0 0;font-size:12px;letter-spacing:.08em;color:var(--ink-dim)}.app__desc{margin:16px 0 0;font-size:14.5px;line-height:1.75;color:#2b2521d1}.app__shots{display:flex;gap:10px;margin:18px -4px 0;padding:4px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.app__shots::-webkit-scrollbar{display:none}.app__shots img{flex:0 0 auto;height:300px;width:auto;border-radius:14px;scroll-snap-align:start;box-shadow:0 6px 18px #2b252129;background:var(--bg-soft)}.app__store{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:20px;padding:14px 20px;border-radius:999px;background:var(--ink-dark);color:#fff;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.02em;transition:transform .25s var(--ease-out),box-shadow .25s}.app__store:hover{transform:translateY(-1px);box-shadow:0 8px 20px #2b252140}.app__store-mark{font-family:-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1}.app__more{display:block;margin-top:12px;text-align:center;font-size:14px;color:var(--ink-dim);text-decoration:none}.app__more:hover{color:var(--ink-dark);text-decoration:underline}.stars{color:var(--accent);letter-spacing:.06em;font-size:13px}.stars__off{color:#2b25212e}.app__rating{display:flex;align-items:center;gap:8px;margin:26px 0 0;padding-top:20px;border-top:1px solid var(--panel-line);font-size:14px}.app__rating b{font-weight:700}.app__rating-count{color:var(--ink-dim);font-size:12.5px;letter-spacing:.04em}.app__rating--none{color:var(--ink-dim);font-size:13px}.reviews{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}.review{padding:14px 16px;border-radius:14px;background:#2b252109;border:1px solid rgba(43,37,33,.06)}.review__meta{display:flex;align-items:center;gap:10px;margin:0}.review__author{font-size:12.5px;color:var(--ink)}.review__date{font-size:11.5px;color:var(--ink-dim);margin-left:auto;letter-spacing:.04em}.review__title{margin:8px 0 0;font-size:14px;font-weight:700}.review__text{margin:6px 0 0;font-size:13.5px;line-height:1.7;color:#2b2521c7;white-space:pre-line}.all{list-style:none;margin:0;padding:0;display:grid;gap:4px}.all__item{width:100%;display:flex;align-items:center;gap:14px;padding:10px;border:0;border-radius:14px;background:none;text-align:left;cursor:pointer;transition:background .2s}.all__item:hover{background:#2b25210d}.all__item img{width:44px;height:44px;border-radius:10px;box-shadow:0 3px 10px #2b25212e}.all__text{display:flex;flex-direction:column;gap:2px}.all__name{font-size:15px;font-weight:700}.all__prop{font-size:12px;color:var(--ink-dim);letter-spacing:.06em}.all__item{text-decoration:none}.all__tagline{margin:0 0 6px 68px;font-size:13px;line-height:1.6;color:var(--ink-dim)}.panel__credit{margin:32px 0 0;padding-top:18px;border-top:1px solid var(--panel-line);font-size:12px;line-height:1.7;color:var(--ink-dim);word-break:keep-all;overflow-wrap:anywhere}.panel--single .panel__credit{display:none}@media(max-aspect-ratio:1 / 1){.scene{width:max(100vw,56.25dvh);height:max(100dvh,calc(100vw * 16 / 9));background-image:url(/yuna/v3-portrait/plate-lqip.jpg);--lamp-x: 68.9%;--lamp-y: 25%}.ambient--window{top:12%}:root{--chrome-bottom: calc(16px + env(safe-area-inset-bottom)) ;--chrome-side: calc(16px + env(safe-area-inset-right)) ;--chrome-title: 20px}.sign{left:calc(16px + env(safe-area-inset-left));transform:none;padding:0 18px;animation-name:rise-plain}.sign__title{letter-spacing:.12em}.corner{top:calc(12px + env(safe-area-inset-top));flex-direction:column-reverse;align-items:flex-end}.lang__btn{width:var(--chrome-h);padding:0;justify-content:center}.lang__btn>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.prop-label{display:none}}@media(max-width:640px){.panel{top:auto;left:0;right:0;width:100%;max-height:76dvh;border-left:0;border-top:1px solid var(--panel-line);border-radius:22px 22px 0 0;transform:translateY(100%);transition:transform .5s var(--ease-out),visibility 0s linear .5s}.panel.is-open{transform:none;transition:transform .5s var(--ease-out),visibility 0s}.panel.is-dragging{transition:none}.panel:before{content:"";position:absolute;left:50%;top:8px;width:38px;height:4px;margin-left:-19px;border-radius:2px;background:#2b252133}.panel__scroll{min-height:0;padding:30px 20px calc(32px + env(safe-area-inset-bottom))}.panel__close{top:12px;right:12px;width:36px;height:36px;font-size:20px}.panel--single .panel__eyebrow{margin-bottom:14px}.app__icon{width:56px;height:56px;border-radius:13px}.app__shots img{height:220px;border-radius:12px}.backdrop{background:#0a06041f}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.sign,.all-apps{opacity:1;transform:none}.intro{display:none}.scene__img{opacity:1}}
