@font-face{font-family:Figtree;src:url(../../../fonts/figtree.woff2) format("woff2");font-weight:300 900;font-display:swap}:root{--bg:#000;--fg:#f4f3ef;--muted:#9a99a1;--dim:#6d6c74;--line:#1f1f24;--panel:#0b0b0d;--accent:#f4f3ef;--f:"Figtree","Apple SD Gothic Neo","Pretendard","Noto Sans KR","Malgun Gothic",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--gut:max(20px,env(safe-area-inset-left,0px));--max:1160px;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--f);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}a{color:inherit}img,svg{display:block}::selection{background:#f4f3ef;color:#000}:focus-visible{outline:2px solid var(--fg);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:-999px;top:8px;background:var(--fg);color:#000;padding:8px 12px;border-radius:6px;z-index:10}.skip:focus{left:12px}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}.top{position:relative;z-index:3}.top .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}.brand{display:flex;align-items:center;gap:.32em;font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1;text-decoration:none}.brand svg{width:1.25em;height:1.25em;flex:none}.brand span{transform:translateY(-.06em)}.nav{display:flex;gap:28px;font-size:15px}.nav a{text-decoration:none;color:var(--muted);transition:color .2s}.nav a:hover,.nav a[aria-current=page]{color:var(--fg)}.lang{position:relative;padding-left:22px;border-left:1px solid var(--line)}.lang summary{list-style:none;cursor:pointer;color:var(--muted);display:flex;align-items:center;gap:6px;line-height:1;padding:4px 0;letter-spacing:.06em;font-size:13.5px;font-weight:500;user-select:none}.lang summary::-webkit-details-marker{display:none}.lang summary svg{width:9px;height:6px;transition:transform .2s}.lang[open] summary,.lang summary:hover{color:var(--fg)}.lang[open] summary svg{transform:rotate(180deg)}.lang .menu{position:absolute;right:0;top:calc(100% + 12px);min-width:150px;background:#0c0c0e;border:1px solid var(--line);border-radius:12px;padding:6px;display:grid;box-shadow:0 12px 40px #000c;z-index:5}.lang .menu a{display:flex;justify-content:space-between;gap:16px;padding:9px 12px;border-radius:8px;color:var(--muted);font-size:14px}.lang .menu a b{font-weight:500;letter-spacing:.06em;color:var(--fg)}.lang .menu a:hover{background:#ffffff0d;color:var(--fg)}.lang .menu a[aria-current]{background:#ffffff10}:lang(ko) h1,:lang(ko) h2,:lang(ko) h3,:lang(ko) p,:lang(ko) li,:lang(ko) dd,:lang(ko) .row .d{word-break:keep-all}:lang(ko) h1,:lang(ko) h2{letter-spacing:-.035em;line-height:1.18}@media(max-width:560px){.nav{gap:14px;font-size:14px}.lang{padding-left:14px}.brand{font-size:22px}}@media(max-width:380px){.nav>a:nth-child(2){display:none}}.draw path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s cubic-bezier(.6,0,.2,1) .15s forwards}.draw path:nth-child(2){animation-delay:.45s}.draw path:nth-child(3){animation-delay:.75s}@keyframes draw{to{stroke-dashoffset:0}}.hero{position:relative;margin-top:-76px}.hero .stick{position:relative;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:flex-end}.hero .stage{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}.hero .stage.on{opacity:1}.layer{position:absolute;inset:0;background:#000;isolation:isolate;overflow:hidden;pointer-events:none}.layer canvas{pointer-events:auto}.tone{position:absolute;inset:-30%;mix-blend-mode:hue;pointer-events:none;animation:tone 80s linear infinite}.tone[hidden]{display:none}@keyframes tone{to{transform:rotate(360deg)}}.hero .stage canvas{position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:pan-y}.hero .stage canvas.grabbing{cursor:grabbing}.hero .wrap{position:relative;pointer-events:none;padding-bottom:clamp(32px,6vh,64px)}h1,h2,h3{font-weight:500;letter-spacing:-.025em;line-height:1.08;margin:0;text-wrap:balance}.words{font-size:clamp(30px,4.2vw,56px);letter-spacing:-.03em;max-width:12ch}.words span{display:inline-block}.hero p{font-size:15px;color:var(--muted);margin:18px 0 0;max-width:34ch}.btns{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 22px;border-radius:99px;font-size:16px;font-weight:500;text-decoration:none;border:1px solid #ffffff33;transition:background .2s,border-color .2s,color .2s}.btn:hover{border-color:#ffffff80}.btn.primary{background:var(--fg);color:#000;border-color:var(--fg)}.btn.primary:hover{background:#fff}@media(max-width:760px){.hero .wrap{background:linear-gradient(to top,#000 55%,#0000);padding-top:48px}}main{flex:1}.index{position:relative;background:var(--bg);padding-top:24px;padding-bottom:96px}.row{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,2fr) minmax(0,1fr) 28px;gap:16px;padding:22px 0;border-bottom:1px solid var(--line);align-items:baseline;text-decoration:none;transition:background .2s,padding .2s}.row:first-child{border-top:1px solid #ffffff55}.row:hover{background:#ffffff08;padding-inline:10px}.row .n,.row .k{font-size:12.5px;color:var(--dim);font-variant-numeric:tabular-nums;letter-spacing:.04em}.row .k{color:var(--muted)}.row .t{font-size:19px;font-weight:500;letter-spacing:-.01em;display:flex;align-items:center;gap:12px}.row .ico{width:28px;height:28px;flex:none;margin:-6px 0}.app-icon{width:88px;height:88px;margin:0 0 24px}.row .d{color:#c3c2c9;font-size:15px}.row .go{justify-self:end;color:var(--muted);transition:transform .2s}.row:hover .go{transform:translate(3px);color:var(--fg)}@media(max-width:760px){.row{grid-template-columns:32px minmax(0,1fr) 20px;gap:4px 10px;padding:18px 0}.row .d,.row .k{grid-column:2/3}.row .go{grid-column:3;grid-row:1}.index{padding-bottom:72px}}.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}.page{padding:72px 0 96px}.page .wrap{max-width:760px}.page h1{font-size:clamp(38px,5vw,56px);margin-bottom:14px}.page .lede{font-size:19px;color:#c9c8cf;margin:0 0 40px}.page .meta{color:var(--dim);font-size:14.5px;margin:0 0 40px}.prose h2{font-size:24px;margin:48px 0 12px}.prose h3{font-size:18px;margin:28px 0 8px}.prose p,.prose li{color:#cfced5}.prose ul,.prose ol{padding-left:1.2em}.prose li{margin:6px 0}.prose a{text-underline-offset:3px;text-decoration-color:#fff5}.prose a:hover{text-decoration-color:var(--fg)}.prose table{width:100%;border-collapse:collapse;font-size:15.5px;margin:12px 0}.prose th,.prose td{text-align:left;padding:10px 12px 10px 0;border-bottom:1px solid var(--line);vertical-align:top}.prose th{color:var(--muted);font-weight:500}.todo{background:#2a2410;color:#f0d27a;border-radius:4px;padding:0 4px}.card{border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--panel);margin:20px 0}.card h3{margin-top:0}.rows{display:grid;gap:0;margin:8px 0}.rows div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.rows dt{color:var(--muted)}.rows dd{margin:0;overflow-wrap:anywhere}@media(max-width:560px){.rows div{grid-template-columns:1fr;gap:2px}}.foot{border-top:1px solid var(--line);padding:40px 0 calc(40px + env(safe-area-inset-bottom,0px));font-size:14.5px;color:var(--muted)}.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px}.foot nav{display:flex;flex-wrap:wrap;gap:10px 22px}.foot .fine{flex-basis:100%;margin:0;font-size:12.5px;color:var(--dim);line-height:1.8}.foot .fine span{word-break:keep-all}.foot a{text-decoration:none}.foot a:hover{color:var(--fg)}.foot .brand{font-size:20px;color:var(--fg)}@media(prefers-reduced-motion:reduce){*{transition:none!important}.tone{animation:none}.draw path{animation:none;stroke-dashoffset:0}}.picker{position:absolute;z-index:2;right:calc(max(0px,(100% - var(--max))/2) + var(--gut));bottom:clamp(32px,6vh,64px);font-size:13.5px}.picker[hidden]{display:none}.pk-bar{display:flex;align-items:center;gap:2px;padding:4px;border-radius:99px;background:#0b0b0dcc;border:1px solid #ffffff1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.picker button{font:inherit;color:var(--muted);background:none;border:0;cursor:pointer;border-radius:99px;transition:color .2s,background .2s}.picker button:hover{color:var(--fg);background:#ffffff0f}.picker button:focus-visible{outline:2px solid var(--fg);outline-offset:1px}.pk-toggle,.pk-step,.pk-hold{width:34px;height:34px;display:grid;place-items:center;flex:none}.picker svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.pk-name{height:34px;display:flex;align-items:center;gap:9px;padding:0 12px;min-width:0;max-width:240px;color:var(--fg)!important;letter-spacing:.01em}.pk-name span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pk-sw{width:10px;height:10px;border-radius:50%;flex:none;background:var(--sw,#e9e8e4);box-shadow:0 0 0 1px #ffffff30,0 0 10px var(--sw,#e9e8e4)}.pk-hold .shackle{transition:transform .25s}.pk-hold[aria-pressed=false] .shackle{transform:translate(2.5px) translateY(-1px) rotate(12deg);transform-origin:10px 7px}.pk-hold[aria-pressed=true]{color:var(--fg);background:#ffffff14}.pk-panel{position:absolute;right:0;bottom:calc(100% + 10px);width:min(520px,calc(100vw - 2*var(--gut)));max-height:min(62vh,560px);overflow:auto;overscroll-behavior:contain;padding:16px;border-radius:18px;background:#0b0b0de6;border:1px solid #ffffff1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 60px #000c;display:grid;gap:14px;scrollbar-width:thin;scrollbar-color:#333 transparent}.pk-panel[hidden]{display:none}.pk-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pk-top{border-top:1px solid var(--line);padding-top:14px}.pk-h{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.pk-ways{display:flex;flex-wrap:wrap;gap:4px}.pk-ways button{height:28px;padding:0 10px 0 8px;display:inline-flex;align-items:center;gap:7px;font-size:13px;border:1px solid transparent}.pk-ways button i{width:9px;height:9px;border-radius:50%;background:var(--sw);box-shadow:0 0 0 1px #ffffff30}.pk-ways button.all i{background:conic-gradient(#ff7a3d,#7ed957,#3fc7d6,#c08cf0,#ff7a3d)}.pk-ways button[aria-pressed=true]{color:var(--fg);border-color:#ffffff40}.pk-acts{display:flex;align-items:center;gap:4px}.picker .pk-shuffle,.picker .pk-all{height:28px;padding:0 10px;font-size:13px;line-height:1;display:inline-flex;align-items:center;border:1px solid transparent}.pk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}.pk-grid button{display:grid;gap:4px;padding:4px 4px 6px;border-radius:10px!important;text-align:left;border:1px solid transparent;min-width:0}.pk-grid canvas{width:100%;aspect-ratio:4/3;display:block}.tw{position:relative;isolation:isolate;overflow:hidden;background:#050506}.pk-grid .tw{border-radius:6px}.tw .tone{animation:none}.pk-grid span{font-size:11.5px;line-height:1.25;padding:0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pk-grid button[aria-pressed=true]{border-color:#fff5;color:var(--fg);background:#ffffff0d}@media(max-width:760px){.picker{bottom:auto;top:80px}.pk-panel{bottom:auto;top:calc(100% + 10px);max-height:min(58svh,520px)}.pk-name{max-width:46vw}}@media(prefers-reduced-motion:reduce){.pk-hold .shackle{transition:none}}.page.cat .wrap{max-width:var(--max)}.cat-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 32px;margin-bottom:32px}.cat-head>div{min-width:0;max-width:620px}.cat-head .lede{margin:0}.cat-ways{display:flex;flex-wrap:wrap;gap:8px}.chip{font:500 13.5px var(--f);color:var(--muted);background:transparent;border:1px solid var(--line);border-radius:99px;height:34px;padding:0 14px 0 10px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:color .2s,border-color .2s}.chip i{width:11px;height:11px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 1px #ffffff30}.chip:hover{color:var(--fg);border-color:#ffffff40}.chip[aria-pressed=true]{color:var(--fg);border-color:var(--fg)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:1px}.plate .tw{background:#07070a}.plate{margin:0;background:#07070a;box-shadow:0 0 0 1px var(--line);position:relative;min-width:0;display:grid;grid-template-rows:auto 1fr auto}.plate canvas{width:100%;aspect-ratio:4/3;display:block;cursor:grab;touch-action:pan-y;transition:filter .4s}.plate figcaption{display:flex;justify-content:space-between;gap:12px;padding:12px 14px 4px;border-top:1px solid var(--line)}.plate b{font-weight:500;display:block}.plate figcaption span{color:var(--muted);font-size:13px;line-height:1.45}.plate .n{font-size:12px;color:var(--dim);font-variant-numeric:tabular-nums;flex:none;letter-spacing:.04em}.plate .view{padding:4px 14px 14px;font-size:13px;color:var(--dim);text-decoration:none;justify-self:start}.plate .view:after{content:" →"}.plate .view:hover{color:var(--fg)}.pk-all{font-size:13px;color:var(--muted);text-decoration:none}.pk-all:hover{color:var(--fg)}@media(prefers-reduced-motion:reduce){.plate canvas{transition:none}}.pk-more{display:flex;align-items:center;gap:2px;max-width:420px;overflow:hidden;transition:max-width .35s cubic-bezier(.3,.7,.2,1),opacity .25s}.picker:not(.open) .pk-more{max-width:0;opacity:0}.picker:not(.open) .pk-bar{gap:0}.pk-toggle svg .in{transition:opacity .25s}.picker.open .pk-toggle{color:var(--fg);background:#ffffff14}@media(prefers-reduced-motion:reduce){.pk-more,.pk-toggle svg .in{transition:none}}
