:root{color-scheme:dark;--ink:#091c18;--jade:#aed1ac;--paper:#e1dec6;--muted:#9aafa0;--line:#354d3d;--gold:#b9a878}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--paper);font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23ffffff' filter='url(%23n)' opacity='.35' d='M0 0h160v160H0z'/%3E%3C/svg%3E");z-index:3}
button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--paper);outline-offset:6px}
.page-shell{width:min(1280px,calc(100% - 96px));margin:auto}.masthead{height:104px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:13px;align-items:center;font-family:Batang,"Songti SC",serif;font-size:22px;letter-spacing:3px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--gold);color:var(--gold);font-size:24px;letter-spacing:0}.brand small{display:block;font-family:monospace;font-size:8px;letter-spacing:2.5px;margin-top:5px;color:var(--muted)}
.header-note{font-size:11px;letter-spacing:2px;color:var(--muted)}.motion-toggle{border:0;background:transparent;color:var(--muted);padding:12px 0 12px 12px;font-size:11px;letter-spacing:1px}
.intro{text-align:center;padding-top:41px}.eyebrow{font-family:"Courier New",monospace;font-size:10px;letter-spacing:3px;color:var(--gold);display:flex;align-items:center;justify-content:center;gap:16px}.eyebrow>span{height:1px;width:26px;background:var(--gold);opacity:.6}
h1{font-family:Batang,"AppleMyungjo","Noto Serif CJK KR",serif;font-size:clamp(30px,3.3vw,47px);font-weight:400;letter-spacing:3px;margin:21px 0 16px;line-height:1.4}h1 span{color:var(--jade)}.subtitle{font-size:12px;letter-spacing:2px;color:var(--muted);margin:0 0 32px}
.art-stage{position:relative;max-width:1060px;margin:auto;padding:0 48px}.dragon-frame{position:relative;margin:0;padding:7px;border:1px solid #6b7756;background:#0c231d;box-shadow:0 0 0 4px var(--ink),0 0 0 5px #293c2f}.dragon-frame::after{content:"";position:absolute;inset:7px;pointer-events:none;background:linear-gradient(transparent 66%,#04150e88)}
.dragon-frame img{display:block;width:100%;height:auto;aspect-ratio:2.08;object-fit:cover;image-rendering:pixelated}.corner{position:absolute;z-index:2;width:18px;height:18px;border:3px solid var(--gold)}.top-left{left:-5px;top:-5px;border-right:0;border-bottom:0}.top-right{right:-5px;top:-5px;border-left:0;border-bottom:0}.bottom-left{left:-5px;bottom:-5px;border-right:0;border-top:0}.bottom-right{right:-5px;bottom:-5px;border-left:0;border-top:0}
.side-note{position:absolute;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-family:Batang,serif;letter-spacing:5px;font-size:11px;color:#8b9f87}.left-note{left:8px}.right-note{right:8px}.art-caption{position:absolute;z-index:1;bottom:26px;left:29px;display:flex;align-items:center;gap:12px;text-shadow:0 2px 4px #000}.art-caption span:first-child{font-family:Batang,serif;font-size:19px;letter-spacing:5px}.art-caption span:last-child{font-size:10px;letter-spacing:2px;color:#c6ceb6}.seal{position:absolute;bottom:25px;right:26px;z-index:1;border:1px solid #d59479;color:#ecd0af;background:#793e30c9;padding:5px 6px;font-family:Batang,serif;font-size:14px;line-height:1.15}
.welcome{padding:25px 0 27px}.welcome>p:first-child{font-size:12px;line-height:1.9;letter-spacing:1px;color:var(--muted);margin:0 0 19px}.enter-button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:48px;padding:0 27px;background:#b9d5af;color:#182e22;border:1px solid #d2e2bc;box-shadow:3px 3px 0 #405f47;font-size:13px;letter-spacing:3px;transition:background .2s,transform .2s,box-shadow .2s}.enter-button:hover{background:#d3e3be;transform:translate(-1px,-1px);box-shadow:4px 4px 0 #405f47}.enter-button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #405f47}.enter-note{font-family:monospace;font-size:8px;letter-spacing:2px;margin:14px 0 0;color:#849783}
footer{min-height:65px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1px;color:#8ea08d}footer>span:last-child{font-family:monospace;font-size:8px;letter-spacing:1.5px}.footer-center{display:flex;gap:15px;align-items:center}.footer-center span{font-size:8px;color:var(--gold)}
.ambient{position:fixed;inset:0;pointer-events:none;overflow:hidden}.ambient i{position:absolute;width:3px;height:3px;background:#bbd49b;box-shadow:0 0 10px #afd87a;opacity:0;animation:drift 9s infinite}.ambient i:nth-child(1){left:8%;top:61%;animation-delay:-1s}.ambient i:nth-child(2){left:18%;top:26%;animation-delay:-5s}.ambient i:nth-child(3){left:91%;top:51%;animation-delay:-3s}.ambient i:nth-child(4){left:80%;top:85%;animation-delay:-7s}.ambient i:nth-child(5){left:45%;top:15%;animation-delay:-4s}.ambient i:nth-child(6){left:7%;top:89%;animation-delay:-8s}@keyframes drift{0%,100%{opacity:0;transform:translate(0,10px)}40%{opacity:.65}80%{opacity:0;transform:translate(12px,-40px)}}
dialog{color:var(--paper);background:#0f2820;border:1px solid var(--gold);padding:8px;width:min(480px,calc(100% - 40px));box-shadow:0 20px 100px #0009}dialog::backdrop{background:#020c09c9;backdrop-filter:blur(5px)}.dialog-inner{border:1px solid var(--line);padding:32px 18px;text-align:center}.dialog-symbol{display:block;font-size:56px;color:var(--gold);margin:22px 0}h2{font-family:Batang,serif;font-size:25px;font-weight:400}.dialog-inner>p:not(.eyebrow){font-size:12px;line-height:2.2;color:var(--muted);margin-bottom:27px}.dialog-inner .enter-button{font-size:11px;letter-spacing:1px;gap:16px}
.motion-off *, .motion-off *::before, .motion-off *::after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media(min-width:1500px){.intro{padding-top:50px}.art-stage{max-width:1140px}.welcome{padding:30px 0}}
@media(max-width:700px){.page-shell{width:calc(100% - 36px)}.masthead{height:82px}.header-note{display:none}.brand{font-size:19px}.brand-mark{width:32px;height:34px;font-size:21px}.motion-toggle{font-size:10px}.intro{padding-top:35px}.eyebrow{font-size:8px;letter-spacing:1.8px;gap:10px}.eyebrow>span{width:15px}h1{font-size:30px;letter-spacing:1px;margin:21px 0 15px}.subtitle{font-size:10px;letter-spacing:1px;margin-bottom:28px}.art-stage{padding:0 6px}.side-note{display:none}.dragon-frame{padding:5px}.dragon-frame img{aspect-ratio:1.18;object-position:42% center}.dragon-frame::after{inset:5px}.art-caption{left:17px;bottom:20px}.art-caption span:first-child{font-size:15px;letter-spacing:3px}.art-caption span:last-child{display:none}.seal{right:17px;bottom:18px;font-size:11px}.welcome{padding:27px 0 30px}footer{flex-wrap:wrap;justify-content:center;padding:19px 0;gap:12px 24px}.footer-center{order:-1;width:100%;justify-content:center}footer>span:last-child{font-size:7px}}
