:root,[lang]{--tracking:1}:root:is(:lang(ko),:lang(ja),:lang(zh)),[lang|=ko],[lang|=ja],[lang|=zh]{--tracking:.1}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--accent:#a855f7;--accent-rgb:168 85 247;--accent2:#f0529c;--accent2-rgb:240 82 156;--mark-a:#b86bff;--mark-b:#f0529c;--spark:#f7a8d0;--bg:#09090b;--bg-rgb:9 9 11;--text:#f4f2f7;--text-2:#c9c5d0;--muted:#8d8997;--faint:#5f5b69;--lilac:#e9d5ff;--blush:#fbcfe8;--warn:#f5b14c;--warn-rgb:245 177 76;--danger:#ff6b81;--danger-rgb:255 107 129;--again:#ff6b81;--again-rgb:255 107 129;--hard:#f5b14c;--hard-rgb:245 177 76;--good:#b86bff;--good-rgb:184 107 255;--easy:#f0529c;--easy-rgb:240 82 156;--ob-fill:linear-gradient(180deg, #1a1820 0%, #141319 42%, #100f14 100%);--ob-pool:radial-gradient(64% 58% at 50% 0%, rgb(var(--accent-rgb) / .085), transparent 72%);--ob-edge:#ffffff0e;--ob-shadow:0 1px 0 #ffffff09 inset, 0 18px 40px -24px #000000e6;--fill-1:#ffffff0b;--fill-2:#ffffff13;--fill-3:#ffffff1c;--line:#ffffff12;--gradient:linear-gradient(135deg, var(--accent), var(--accent2));--cta:linear-gradient(135deg, #9b45f0, #cf3580);--ink-light:linear-gradient(100deg, var(--lilac) 0%, #fbf7ff 46%, var(--blush) 100%);--font-hand:"Charm Handwriting", "Segoe Print", "LgcY Hand Hangul", "Hanja", ui-sans-serif, system-ui, sans-serif;--font-ko:"LgcY Hand Hangul", "Hanja", "Charm Handwriting", ui-sans-serif, system-ui, sans-serif;--font-ja:"Yu Gothic UI", "Yu Gothic", "Hiragino Sans", "Noto Sans JP", Meiryo, ui-sans-serif, system-ui, sans-serif;--font-zh-hans:"Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", ui-sans-serif, system-ui, sans-serif;--font-zh-hant:"Microsoft JhengHei UI", "Microsoft JhengHei", "PingFang TC", "Noto Sans TC", ui-sans-serif, system-ui, sans-serif;--font-display:"Sora Variable", "Pretendard Variable", "Hanja", ui-sans-serif, system-ui, sans-serif;--font-body:"Geist Variable", "Pretendard Variable", "Hanja", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono Variable", ui-monospace, "Cascadia Mono", "Pretendard Hangul", "Malgun Gothic", "Apple SD Gothic Neo", "Yu Gothic UI", "Hiragino Sans", monospace;--radius:12px;--radius-sm:8px;--radius-card:22px;--t-press:.12s;--t-quick:.22s;--t-move:.42s;--t-slow:.72s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-in:cubic-bezier(.55, 0, .75, .2);--ease-spring:cubic-bezier(.34, 1.36, .64, 1);--ease-spring-soft:cubic-bezier(.3, 1.18, .5, 1)}.script{font-family:var(--font-hand)}.script:lang(ko){font-family:var(--font-ko);word-break:keep-all}.script:lang(ja){font-family:var(--font-ja);word-break:auto-phrase}.script:lang(zh){font-family:var(--font-zh-hans)}.script:lang(zh-TW),.script:lang(zh-HK),.script:lang(zh-MO){font-family:var(--font-zh-hant)}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-DdqRvwsR.woff2)format("woff2-variations")}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-BgDaEnEv.woff2)format("woff2-variations")}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-B9CIFXIH.woff2)format("woff2-variations")}@font-face{font-family:Charm Handwriting;font-style:normal;font-display:block;font-weight:400;src:url(/assets/charm-handwriting-straight-B2UCs_eW.woff2)format("woff2")}@font-face{font-family:LgcY Hand Hangul;font-style:normal;font-display:block;font-weight:400;src:url(/assets/nanum-barunpen-site-3bHvyE0E.woff2)format("woff2");unicode-range:U+11??,U+3130-318F,U+AC00-D7AF}:root{--page:min(1200px, 100% - 2 * var(--gutter));--gutter:clamp(20px, 5vw, 48px);--section:clamp(104px, 12vw, 176px);--text-display:clamp(2.75rem, 1.7rem + 3.6vw, 4.75rem);--text-h2:clamp(2rem, 1.35rem + 2.4vw, 3.25rem);--text-h3:clamp(1.25rem, 1.1rem + .5vw, 1.5rem);--text-lead:clamp(1.0625rem, 1rem + .3vw, 1.25rem);--text-body:1rem;--text-small:.875rem;--glow:rgb(var(--accent-rgb) / .12);--glow-pink:rgb(var(--accent2-rgb) / .08)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:24px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100dvh;color:var(--text);font-family:var(--font-body);font-size:var(--text-body);font-optical-sizing:auto;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6;position:relative;overflow-x:clip}:lang(ko){word-break:keep-all;line-break:strict}:lang(ja){word-break:auto-phrase;line-break:strict}h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg,canvas,video{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit;margin:0}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}:focus{outline:none}:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #c58cff}.quiet-button:focus-visible{outline-offset:-2px}::selection{background:rgb(var(--accent-rgb) / .4);color:#fff}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.label{font-family:var(--font-mono);letter-spacing:calc(.16em * var(--tracking));text-transform:uppercase;color:var(--muted);margin-inline-end:calc(-.16em * var(--tracking));font-size:.75rem;font-weight:500;line-height:1}.label.slash:before{content:"// " / "";color:var(--accent2)}.cap-line{text-box:trim-both cap alphabetic}kbd{text-box:trim-both cap alphabetic;text-align:center;background:var(--fill-2);min-width:18px;font-family:var(--font-mono);color:var(--text-2);border-radius:5px;padding:calc(9px - .5cap) 5px;font-size:10px;font-weight:500;line-height:1;display:inline-block;box-shadow:inset 0 -1px #00000059,inset 0 0 0 1px #ffffff0f}@property --beam{syntax:"<angle>";inherits:false;initial-value:0deg}@property --throw{syntax:"<number>";inherits:true;initial-value:0}@property --reach{syntax:"<number>";inherits:false;initial-value:0}@property --ink{syntax:"<percentage>";inherits:false;initial-value:0%}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
