@font-face{font-family:Hun Hangeul;src:url(../fonts/EBSHunminjeongeumR.ttf)format("truetype");font-weight:100 700;font-style:normal;font-display:block}@font-face{font-family:Hun Hanja;src:url(../fonts/hun-hanja-200.woff2)format("woff2");font-weight:100 400;font-style:normal;font-display:block}@font-face{font-family:Hun Hanja;src:url(../fonts/hun-hanja-600.woff2)format("woff2");font-weight:401 700;font-style:normal;font-display:block}:root{--ink:#16202c;--paper:#dfe9f2;--red:#2b7abf;--bg:#e8eef4;--fg:#16202c;--rule:#16202c38;--display:"Hun Hangeul","Hun Hanja",serif}body.dark{--bg:#0c1826;--fg:#dfe9f2;--rule:#dfe9f233}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto;scrollbar-width:none}html::-webkit-scrollbar{display:none}body{background:var(--bg);color:var(--fg);font-family:Apple SD Gothic Neo,Noto Sans KR,Noto Sans CJK KR,sans-serif;transition:background 1.1s,color 1.1s;overflow-x:hidden}body.test *{transition:none!important;animation:none!important}#gl{z-index:0;width:100%;height:100%;position:fixed;inset:0}#vignette{z-index:1;pointer-events:none;background:radial-gradient(#0000 55%,#060e1880 100%);position:fixed;inset:0}#grain{z-index:1;pointer-events:none;mix-blend-mode:multiply;opacity:.5;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='240' height='240' filter='url(%23n)' opacity='0.55'/></svg>");transition:opacity 1.1s;position:fixed;inset:0}body.dark #grain{opacity:.14}.hud{z-index:2;pointer-events:none;position:fixed}#brand{letter-spacing:.3em;font-size:12px;top:28px;left:34px}#brand b{font-weight:700}#brand span{opacity:.45;letter-spacing:.12em;margin-left:12px}#fps{letter-spacing:.15em;font-variant-numeric:tabular-nums;opacity:.6;font-size:11px;top:28px;right:34px}#fps.bad{color:var(--red)}#hint{letter-spacing:.35em;opacity:.5;text-indent:.35em;font-size:11px;transition:opacity .5s;animation:2.4s ease-in-out infinite pulse;bottom:30px;left:50%;transform:translate(-50%)}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.15}}#counter{text-align:center;opacity:0;transition:opacity .6s;top:22%;left:50%;transform:translate(-50%)}#counter.on{opacity:1}#counter b{font-family:var(--display);letter-spacing:.04em;font-variant-numeric:tabular-nums;font-size:clamp(46px,7.4vw,98px);font-weight:200;display:block}#counter span{letter-spacing:.5em;opacity:.5;text-indent:.5em;margin-top:6px;font-size:10px;display:block}#jamo28{text-align:center;opacity:0;width:min(760px,88vw);transition:opacity .8s;top:27%;left:50%;transform:translate(-50%,-50%)}#jamo28.on{opacity:1}#jamo28 .j-row{flex-wrap:wrap;justify-content:center;gap:8px 14px;font-size:24px;font-weight:500;display:flex}#jamo28 .ob{color:var(--red)}#jamo28 .j-note{letter-spacing:.25em;opacity:.5;text-indent:.25em;margin-top:18px;font-size:11px}#snd{pointer-events:auto;cursor:pointer;font:inherit;color:inherit;writing-mode:vertical-rl;letter-spacing:.35em;opacity:.5;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;font-size:11px;transition:opacity .25s;bottom:30px;left:12px}#snd:hover,#snd.on{opacity:.9}#snd:after{content:"";border:1px solid #0000;border-radius:50%;width:5px;height:5px;margin-top:12px;transition:background .25s,border-color .25s;display:inline-block}#snd.on:after{background:var(--red);border-color:var(--red)}#snd.armed:after{border-color:var(--red);opacity:.55}#title{text-align:center;transition:opacity .7s;top:50%;left:50%;transform:translate(-50%,-50%)}#title h1{font-family:var(--display);letter-spacing:.04em;font-size:clamp(56px,9.6vw,132px);font-weight:200;line-height:1.12}#title .en{letter-spacing:.5em;opacity:.5;text-indent:.5em;margin-top:16px;font-size:12px}#titleseal{background:var(--red);color:#eef4fa;place-items:center;width:38px;height:38px;margin-top:30px;font-size:22px;font-weight:700;display:inline-grid}.cap{z-index:2;pointer-events:none;border-left:1px solid var(--rule);opacity:0;max-width:460px;padding-left:15px;transition:opacity .5s,transform .5s,border-color 1.1s;position:fixed;bottom:96px;left:34px;transform:translateY(14px)}.cap.on{opacity:1;transform:translateY(0)}.cap .num{letter-spacing:.3em;color:var(--red);margin-bottom:10px;font-size:11.5px}.cap h2{font-family:var(--display);margin-bottom:9px;font-size:23px;font-weight:600;line-height:1.45}.cap p{opacity:.78;font-size:13.5px;line-height:1.75}.cap p .en{opacity:.72;letter-spacing:.01em;margin-top:7px;display:block}#nav{z-index:3;flex-direction:column;align-items:flex-end;gap:20px;display:flex;position:fixed;top:50%;right:34px;transform:translateY(-50%)}.navi{cursor:pointer;opacity:.4;-webkit-tap-highlight-color:transparent;align-items:center;gap:10px;transition:opacity .25s;display:flex}.navi:hover{opacity:.9}.navi.on{opacity:1}.navi .lb{letter-spacing:.24em;text-indent:.24em;font-size:10px}.navi .dt{background:var(--fg);border-radius:50%;width:5px;height:5px;transition:background .25s,transform .25s}.navi.on .dt{background:var(--red);transform:scale(1.5)}#pg{z-index:3;opacity:0;pointer-events:none;transition:opacity .8s;position:fixed;inset:0}#pg.on{opacity:1;pointer-events:auto}#eq{align-items:flex-end;gap:48px;display:flex;position:absolute;top:12%;left:50%;transform:translate(-50%)}.eslot{text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;width:76px;position:relative}.eslot .v{height:56px;font-size:40px;font-weight:800;line-height:56px;transition:transform .18s,color .18s;display:block}.eslot .v:empty:before{content:"·";opacity:.18;font-weight:400}.eslot .line{background:var(--fg);opacity:.25;height:1px;transition:opacity .18s,background .18s;display:block}.eslot .tag{letter-spacing:.2em;opacity:.4;text-indent:.2em;white-space:nowrap;margin-top:9px;font-size:9px;display:block}.eslot:hover .v{color:var(--red)}.eslot.over .line{background:var(--red);opacity:.9}.eslot.over .v{color:var(--red)}#reading{letter-spacing:.18em;opacity:0;white-space:nowrap;pointer-events:none;font-size:12px;transition:opacity .5s;position:absolute;top:calc(12% + 108px);left:50%;transform:translate(-50%)}#reading.on{opacity:.62}#reading .rom{color:var(--red);letter-spacing:.3em;margin-left:10px;font-weight:700}#pghint{text-align:center;pointer-events:none;transition:opacity .6s;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}#pghint .big{font-family:var(--display);letter-spacing:.26em;text-indent:.26em;opacity:.52;font-size:clamp(21px,3.2vw,32px);font-weight:200}#pghint .sub{letter-spacing:.2em;opacity:.32;margin-top:14px;font-size:11px}#pghint.off{opacity:0}#palette{text-align:center;width:min(900px,92vw);position:absolute;bottom:66px;left:50%;transform:translate(-50%)}.plabel{letter-spacing:.4em;opacity:.32;text-indent:.4em;margin-bottom:6px;font-size:9px}.prow{flex-wrap:wrap;justify-content:center;gap:2px 4px;margin-bottom:14px;display:flex}.chip{opacity:.72;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;place-items:center;width:38px;height:44px;font-size:21px;font-weight:600;transition:transform .16s cubic-bezier(.2,.8,.3,1.2),opacity .16s,color .16s;display:grid;position:relative}.chip:hover{opacity:1;color:var(--red);transform:translateY(-4px)scale(1.28)}.chip.used{color:var(--red);opacity:1}.chip.used:after{content:"";background:var(--red);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}#actions{letter-spacing:.24em;gap:26px;font-size:11px;display:flex;position:absolute;bottom:26px;right:36px}.act{cursor:pointer;opacity:.55;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:opacity .15s,color .15s}.act:hover{opacity:1;color:var(--red)}.act.primary{color:var(--red);opacity:.95;font-weight:700}#ghost{z-index:9;pointer-events:none;color:var(--red);font-size:44px;font-weight:800;display:none;position:fixed;transform:translate(-50%,-58%)}#nogl{z-index:9;text-align:center;place-items:center;padding:40px;line-height:1.8;display:none;position:fixed;inset:0}@media (width<=760px){#nav .lb{display:none}#nav{right:18px}.cap{max-width:min(340px,100vw - 76px);bottom:80px;left:20px}#snd{bottom:64px;left:6px}#brand{top:20px;left:20px}#fps{top:20px;right:20px}#eq{gap:22px;top:9%}.eslot{width:52px}.eslot .v{height:44px;font-size:32px;line-height:44px}#reading{top:calc(9% + 92px)}.chip{width:32px;height:38px;font-size:18px}#palette{bottom:70px}#actions{gap:12px;font-size:10px;bottom:24px;right:50%;transform:translate(50%)}#pghint{top:44%}}@media (width<=380px){#brand span{display:none}.chip{width:28px;height:34px;font-size:16px}}#ryu-rooms{z-index:2;pointer-events:none;opacity:0;color:var(--paper);position:fixed;inset:0}#ryu-rooms.on{opacity:1}#ryu-tint{position:absolute;inset:0}.rlayer{will-change:transform;width:1vw;position:absolute;top:0;bottom:0;left:0}.rlayer>*{position:absolute}.rghost{font-family:var(--display);white-space:nowrap;color:var(--paper);opacity:.026;font-size:42vh;font-weight:200;line-height:1;top:4vh}.rghost.rred{color:var(--red);opacity:.045}.rribbon{font-family:var(--display);letter-spacing:.42em;white-space:nowrap;opacity:.085;width:100vw;font-size:3.4vh;font-weight:200;top:71vh;overflow:hidden}.rribbon.rup{top:12vh}.rribbon.rred{color:var(--red);opacity:.12}.rroom{gap:30px;width:44vw;display:flex;top:16vh}.rspine{flex-direction:column;align-items:center;gap:12px;height:44vh;padding-top:6px;display:flex}.rspine .vlb{writing-mode:vertical-rl;letter-spacing:.5em;color:var(--red);text-indent:.5em;font-size:14px}.rspine .rule{opacity:.22;background:currentColor;flex:1;width:1px}.rroom .yr{font-family:var(--display);color:var(--red);transform-origin:0 100%;font-size:16vh;font-weight:200;line-height:.96}.rroom h3{font-family:var(--display);margin:3vh 0 1.6vh;font-size:26px;font-weight:600}.rroom p{opacity:.62;max-width:38ch;font-size:12.5px;line-height:1.8}.rroom .art{margin-top:3vh}.rjamo{letter-spacing:.42em;opacity:.86;max-width:24ch;font-size:20px;line-height:1.95}.rjamo b{color:var(--red);font-weight:400}.rbig{font-family:var(--display);letter-spacing:.08em;font-size:5.4vh;font-weight:600}.rdim{opacity:.5}.rred2{color:var(--red)}.rstrike{display:inline-block;position:relative}.rstrike:after{content:"";background:var(--red);height:.055em;position:absolute;top:52%;left:-2%;right:-2%}.rletter{font-family:var(--display);gap:26px;padding:0 22px;display:inline-flex;position:relative}.rletter:before,.rletter:after{content:"";opacity:.2;background:currentColor;width:1px;position:absolute;top:-14px;bottom:-14px}.rletter:before{left:0}.rletter:after{right:0}.rletter .v{writing-mode:vertical-rl;letter-spacing:.34em;opacity:.88;font-size:19px;font-weight:200;line-height:2.3;display:block}.rcode{opacity:.8;font-family:ui-monospace,SF Mono,monospace;font-size:15px;line-height:2.1}.rcode i{color:var(--red);font-style:normal}.rfg{font-family:var(--display);color:var(--paper);opacity:.03;font-size:46vh;font-weight:200;line-height:1;top:26vh}.rfg.rred{color:var(--red);opacity:.05}#ryu-rail{background:#dfe9f22e;height:1px;position:absolute;top:6.5vh;left:8vw;right:8vw}#ryu-rail i{background:var(--red);border-radius:50%;width:7px;height:7px;position:absolute;top:-3px;transform:translate(-50%)}#ryu-rail b{letter-spacing:.2em;opacity:.5;font-size:10px;font-weight:400;position:absolute;top:-1.9em;transform:translate(-50%)}#ryu-rail s{background:#dfe9f259;border-radius:50%;width:5px;height:5px;text-decoration:none;position:absolute;top:-2px;transform:translate(-50%)}@media (width<=760px){.rroom{gap:min(30px,4vw);width:86vw;margin-left:-23vw;top:14vh}.rroom>.rspine+div{min-width:0}.rspine{height:38vh}.rroom .yr{font-size:min(16vh,22vw)}.rroom h3{margin:2.2vh 0 1.2vh;font-size:min(26px,5.4vw)}.rroom p{max-width:none;font-size:min(12.5px,3.4vw)}.rroom .art{margin-top:2.2vh}.rjamo{letter-spacing:.3em;max-width:100%;font-size:min(20px,4.4vw);line-height:1.8}.rbig{font-size:min(5.4vh,8.5vw)}.rletter{gap:min(26px,5vw);padding:0 min(22px,4vw)}.rletter .v{font-size:min(19px,4.4vw);line-height:1.9}.rcode{font-size:min(15px,3.6vw)}.rghost{opacity:.022;font-size:26vw}.rghost.rred{opacity:.038}.rribbon{letter-spacing:.34em;font-size:min(3.4vh,2.8vw)}.rfg{opacity:.026;font-size:30vw}.rfg.rred{opacity:.042}#ryu-rail{top:11vh;left:6vw;right:6vw}#ryu-rail b{letter-spacing:.12em;font-size:9px}}
