@font-face{font-family:Hahmlet;src:url(/fonts/hahmlet-200.woff2) format("woff2");font-weight:200;font-display:swap}@font-face{font-family:Hahmlet;src:url(/fonts/hahmlet-300.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:MaruBuri;src:url(/fonts/maruburi-300.woff2) format("woff2");font-weight:200 400;font-display:swap}@font-face{font-family:SerifHanja;src:url(/fonts/hanja-300.woff2) format("woff2");font-weight:200 400;unicode-range:U+4E00,U+4E03,U+4E09,U+4E5D,U+4E8C,U+4E94,U+516B,U+516D,U+5341,U+56DB;font-display:swap}:root{--void: #0b0c0c;--wall: #121414;--wall-lift: #1b1e1e;--ink: #e9ecea;--ink-mid: #9aa4a1;--ink-thin: #6b7674;--hair: #2a2f2e;--paper: #f4f1ea;--accent: #3fb39c;--serif: "MaruBuri", "SerifHanja", "Apple SD Gothic Neo", "Malgun Gothic", serif;--display: "Hahmlet", "SerifHanja", "MaruBuri", "Apple SD Gothic Neo", serif;--edge: clamp(1.1rem, 2.4vw, 2.4rem);--margin-w: clamp(15rem, 23vw, 21rem);--art-aspect: 16 / 9;--art-ratio: 1.778;--slow: 1.1s cubic-bezier(.22, .61, .36, 1);--slower: 1.8s cubic-bezier(.22, .61, .36, 1)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background-color:var(--void);background-image:radial-gradient(120% 90% at 46% 42%,var(--wall-lift) 0%,var(--wall) 42%,var(--void) 100%);color:var(--ink);font-family:var(--serif);font-weight:300;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:var(--ink-thin);background:none;border:0;padding:0;cursor:pointer;transition:color var(--slow)}button:hover{color:var(--ink)}#app{position:fixed;inset:0}.brand-room,.scroll-index,.brushes h2,.knobs,.margin-foot,.toast,.r-num,.r-date,.colophon,.intro-tag{font-size:11px;letter-spacing:.16em;font-weight:300}.room{position:absolute;inset:0}body:before{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E")}.room:before{content:"";position:absolute;z-index:0;left:calc(50% - var(--margin-w) * .42);top:52%;transform:translate(-50%,-50%);width:min(calc(100vw - var(--margin-w) - 6rem),95rem);height:min(88vh,60rem);pointer-events:none;background:radial-gradient(closest-side,rgb(214 232 227 / .075) 0%,rgb(120 160 152 / .035) 45%,transparent 78%)}.frame{position:absolute;z-index:2;top:47%;left:calc(50% - var(--margin-w) * .42);transform:translate(-50%,-50%);width:min(calc(100vw - var(--margin-w) - 15rem),calc((100vh - 15rem) * var(--art-ratio)));aspect-ratio:var(--art-aspect);background:var(--paper);box-shadow:0 0 0 1px #ffffff12,0 2px 6px #0000008c,0 30px 80px #0009,0 0 130px 12px #3fb39c0f;transition:width var(--slower),top var(--slower),left var(--slower),box-shadow var(--slower)}.stage{position:absolute;inset:0;overflow:hidden}.stage .gl{display:block;width:100%;height:100%}.plate{position:absolute;top:calc(100% + 1.15rem);left:0;right:0;display:grid;gap:.3rem;transition:opacity var(--slow)}.plate-title{font-size:12px;letter-spacing:.24em;color:var(--ink)}.plate-meta{font-size:10px;letter-spacing:.18em;color:var(--ink-thin)}.top,.left,.margin,.toast{z-index:3}.left{position:absolute;inset:auto auto var(--edge) var(--edge);display:flex;flex-direction:column;align-items:flex-start;gap:1.4rem}.title{margin:0;display:flex;flex-direction:column;align-items:center;gap:.7rem;writing-mode:vertical-rl;transition:opacity .44s ease,transform .9s cubic-bezier(.16,1,.3,1)}.title[data-state=out]{opacity:0;transform:translateY(-.5rem)}.title[data-state=in]{opacity:1;transform:none}.t-hanja{font-family:var(--display);font-size:clamp(2.2rem,3.6vw,3.4rem);font-weight:200;letter-spacing:.14em;color:var(--ink)}.t-han{font-size:11px;letter-spacing:.42em;color:var(--ink-mid)}.keep-mark{line-height:0;opacity:.34;transition:opacity var(--slow),transform .5s cubic-bezier(.34,1.56,.64,1)}.keep-mark:hover{opacity:.7}.keep-mark[data-pinned]{opacity:1}.keep-mark[data-pressed]{transform:scale(.92) rotate(-3deg)}.mark-stroke{fill:var(--art-accent, var(--accent));stroke:none;transition:fill var(--slow)}.top{position:absolute;inset:0 0 auto;display:flex;align-items:baseline;justify-content:space-between;padding:calc(var(--edge) * .9) var(--edge);pointer-events:none;transition:opacity var(--slow)}.top a{pointer-events:auto}.top-nav{display:flex;align-items:baseline;gap:1.5rem;font-size:11px;letter-spacing:.2em}.top-nav a{color:var(--ink-thin);transition:color var(--slow)}.top-nav a:hover{color:var(--ink)}.brand{display:flex;align-items:baseline;gap:.6rem}.brand-hanja{font-family:var(--display);font-size:1.3rem;font-weight:300;letter-spacing:.16em}.brand-han{font-size:11px;letter-spacing:.3em;color:var(--ink-thin)}.margin{position:absolute;inset:50% var(--edge) auto auto;transform:translateY(-50%);width:var(--margin-w);display:flex;flex-direction:column;gap:1.5rem;transition:opacity var(--slow)}.room[data-behind] .margin,.room[data-behind] .left,.room[data-behind] .note,.room[data-behind] .top{opacity:0;pointer-events:none}.scroll-index{display:grid;gap:.1rem}.scroll-index button{display:grid;grid-template-columns:1.5em 1fr;align-items:baseline;gap:.8rem;padding:.4rem 0;text-align:left;border-bottom:1px solid transparent;transition:color var(--slow),border-color var(--slow)}.scroll-index em{font-style:normal;color:var(--hair)}.si-han{color:var(--ink-thin);letter-spacing:.14em}.scroll-index button:hover .si-han{color:var(--ink)}.scroll-index button[data-pending]{opacity:.45}.scroll-index button[data-on]{border-bottom-color:var(--hair)}.scroll-index button[data-on] em{color:var(--accent)}.scroll-index button[data-on] .si-han{color:var(--ink)}.brushes h2{margin:0 0 .9rem;font-weight:300;color:var(--ink-thin);letter-spacing:.38em}.brushes{border-top:1px solid var(--hair);padding-top:1.1rem}.brushes-none{margin:0;color:var(--hair);font-size:11px;letter-spacing:.14em}.draft{margin:.9rem 0 0;color:var(--accent);font-size:10px;letter-spacing:.14em;word-break:keep-all}.room[data-pending] .keep-mark,.room[data-pending] .acts{opacity:.25;pointer-events:none}.knobs{display:grid;gap:.85rem}.knobs label{display:grid;grid-template-columns:3.6em 1fr;align-items:center;gap:.8rem}.knobs span{color:var(--ink-mid)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:1px;background:var(--hair);cursor:ew-resize}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:9px;height:9px;background:var(--ink);border-radius:50%}input[type=range]::-moz-range-thumb{width:9px;height:9px;background:var(--ink);border:0;border-radius:50%}.note{margin:.55rem 0 0;max-width:34rem;font-size:11.5px;line-height:1.9;color:var(--ink-mid);text-wrap:pretty;word-break:keep-all;transition:opacity .44s ease}.note[data-state=out]{opacity:0}.room[data-mode=view] .top,.room[data-mode=view] .left,.room[data-mode=view] .margin,.room[data-mode=view] .plate{opacity:0;pointer-events:none}.room[data-mode=view] .top{transform:translateY(-.6rem)}.room[data-mode=view] .left{transform:translate(-.8rem)}.room[data-mode=view] .margin{transform:translate(.8rem,-50%)}.top,.left,.plate,.margin{transition:opacity var(--slow),transform var(--slower)}.room[data-mode=view] .frame{top:50%;left:50%;width:min(100vw,calc(100vh * var(--art-ratio)));box-shadow:none}.viewing{position:absolute;z-index:4;inset:auto 0 calc(var(--edge) * .9) 0;display:grid;justify-items:center;opacity:0;transform:translateY(.5rem);pointer-events:none;transition:opacity var(--slow) .32s,transform var(--slower) .32s}.room[data-mode=view] .viewing{opacity:1;transform:none}.viewing-title{font-size:12px;letter-spacing:.34em;color:var(--ink);text-shadow:0 1px 12px rgb(0 0 0 / .75)}.mode{position:absolute;z-index:5;inset:auto var(--edge) calc(var(--edge) * .9) auto;padding:.55em 1.1em;font-size:10px;letter-spacing:.24em;color:var(--ink-mid);border:1px solid var(--hair);background:#0b0c0c8c;backdrop-filter:blur(8px);transition:color var(--slow),border-color var(--slow),background var(--slow)}.mode:hover{color:var(--ink);border-color:var(--ink-thin);background:#0b0c0ccc}.seed{font-size:10px;letter-spacing:.2em;color:var(--hair)}.seed[data-pinned=true]{color:var(--accent)}.seed[data-pinned=true]:after{content:" · 남긴 것"}.seed[data-pinned=false]:after{content:" · 이 시각의 그림"}.acts{display:flex;gap:1.4rem;padding-top:1rem;border-top:1px solid var(--hair);transition:opacity var(--slow)}.toast{position:absolute;inset:auto auto var(--edge) auto;right:var(--edge);padding:.55em .9em;background:var(--wall-lift);box-shadow:0 0 0 1px var(--hair);color:var(--accent);z-index:5}.fallback{position:absolute;inset:auto var(--edge) var(--edge) var(--edge);color:var(--accent);font-size:12px;z-index:5}.intro{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:var(--void);transition:opacity var(--slower)}.intro[data-leaving]{opacity:0;pointer-events:none}.intro-mark{display:flex;justify-content:center}.vmark{font-family:var(--display);font-size:clamp(2.6rem,6vw,4.4rem);font-weight:200;display:flex;flex-direction:column;align-items:center;gap:.18em;line-height:1}.vmark span{display:block;opacity:0;transform:translateY(-.3em);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1.2s cubic-bezier(.16,1,.3,1);transition-delay:calc(.2s + var(--i, 0) * .26s)}.intro[data-on] .vmark span{opacity:1;transform:none}.intro-foot{position:absolute;inset:auto 0 calc(var(--edge) * 2) 0;display:grid;justify-items:center;gap:.5rem;color:var(--ink-thin);opacity:0;transition:opacity 1.2s 1.5s ease}.intro[data-on] .intro-foot{opacity:1}.intro-name{font-size:12px;letter-spacing:.4em}.intro[data-short] .vmark span{transition-delay:calc(60ms + var(--i, 0) * 90ms)}.intro[data-short] .intro-foot{transition-delay:.6s}.listview{position:absolute;inset:0;z-index:20;overflow-y:auto;background:#0b0c0ce6;backdrop-filter:blur(16px);opacity:0;transition:opacity var(--slower)}.listview[data-on]{opacity:1}.listview-body{padding:calc(var(--edge) * 2) var(--edge);max-width:54rem}.listview header{display:flex;align-items:baseline;gap:.8rem;margin-bottom:2.2rem}.lv-hanja{font-family:var(--display);font-size:1.5rem;letter-spacing:.16em}.lv-han{font-size:11px;letter-spacing:.3em;color:var(--ink-thin)}.lv-close{margin-left:auto;font-size:11px;letter-spacing:.2em;color:var(--ink-thin)}.lv-close:hover{color:var(--ink)}.lv-lede{font-size:13.5px;line-height:2.05;color:var(--ink-mid);max-width:30rem;margin:0 0 2.6rem;word-break:keep-all;text-wrap:pretty}.rows{list-style:none;margin:0;padding:0}.rows a{display:flex;align-items:baseline;gap:1.1rem;padding:.95rem 0;color:var(--ink-thin);transition:color var(--slow)}.rows a:hover,.rows a:focus-visible{color:var(--ink)}.r-num{font-style:normal;color:var(--accent);width:1.4em}.r-hanja{font-family:var(--display);font-size:clamp(1.7rem,4vw,2.5rem);font-weight:200;color:var(--ink)}.r-han{color:var(--ink-mid);letter-spacing:.2em;font-size:12px}.r-rule{flex:1;height:1px;background:var(--hair);transform:scaleX(.3);transform-origin:left;transition:transform var(--slow),background var(--slow)}.rows a:hover .r-rule{transform:scaleX(1);background:var(--accent)}.colophon{margin:3rem 0 0;color:var(--hair)}@media (max-width: 860px){.margin{inset:auto var(--edge) var(--edge) var(--edge);transform:none;width:auto;background:#0b0c0cdb;backdrop-filter:blur(10px);padding:.9rem 1rem}.left{inset:auto auto auto var(--edge);top:22%}.note{display:none}.intro-mark{gap:1.4rem}}@media (orientation: portrait){:root{--art-aspect: 1 / 1;--art-ratio: 1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
