@font-face{font-family:Cotham Sans;src:url(/assets/CothamSans-D5pTpJ9H.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Syncopate;src:url(/assets/Syncopate-Regular-DbkAo0N8.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Syncopate;src:url(/assets/Syncopate-Bold-ZWzS3-fp.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Hyundai Sans Head;src:url(/assets/HyundaiSansHeadOffice-Light-CZ_-bEg2.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Hyundai Sans Head;src:url(/assets/HyundaiSansHeadOffice-Regular-DEPUbVuN.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Hyundai Sans Head;src:url(/assets/HyundaiSansHeadOffice-Medium-rw0LH-B9.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Hyundai Sans Head;src:url(/assets/HyundaiSansHeadOffice-Bold-DlZar4MP.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Hyundai Sans Text;src:url(/assets/HyundaiSansTextOffice-Regular-DTLwB114.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Hyundai Sans Text;src:url(/assets/HyundaiSansTextOffice-Italic-xbFa8J7N.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Hyundai Sans Text;src:url(/assets/HyundaiSansTextOffice-Medium-BQbL21Ls.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Hyundai Sans Text;src:url(/assets/HyundaiSansTextOffice-MediumItalic-DXN5XK2r.woff2)format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Hyundai Sans Text;src:url(/assets/HyundaiSansTextOffice-Bold-CqEW3IR1.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Hyundai Sans Text;src:url(/assets/HyundaiSansTextOffice-BoldItalic-CXBq_9NQ.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}:root,[data-theme=light]{--color-bg:#fff;--color-bg-subtle:#f5f5f5;--color-bg-hover:#0000000d;--color-surface:#fff;--color-surface-alt:#00000005;--color-border:#0000001a;--color-border-strong:#00000073;--color-border-dashed:#0000002e;--color-text:#0a0a0a;--color-text-muted:#0a0a0a73;--color-accent:#0a0a0a;--color-accent-ring:#00000014;--color-error:#d9001b;--color-shadow:#0000001a;--color-dropdown-bg:#fff}[data-theme=dark]{--color-bg:#0f0f0f;--color-bg-subtle:#1a1a1a;--color-bg-hover:#ffffff0f;--color-surface:#1a1a1a;--color-surface-alt:#ffffff08;--color-border:#ffffff1a;--color-border-strong:#ffffff80;--color-border-dashed:#ffffff2e;--color-text:#f0f0f0;--color-text-muted:#f0f0f073;--color-accent:#f0f0f0;--color-accent-ring:#ffffff1a;--color-error:#ff4d5e;--color-shadow:#00000080;--color-dropdown-bg:#1e1e1e}*,:before,:after{box-sizing:border-box;font-family:Hyundai Sans Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}body{background:var(--color-bg);color:var(--color-text);margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4,h5,h6{font-family:Syncopate,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.theme-transitioning,.theme-transitioning *,.theme-transitioning :before,.theme-transitioning :after{transition:background-color .35s,color .35s,border-color .35s,box-shadow .35s,fill .35s,stroke .35s!important}.navbar{z-index:200;border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(16px);width:100%;height:44px;box-shadow:0 1px 0 var(--color-border), 0 4px 16px var(--color-shadow);justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:fixed;top:0;left:0}.navbar__logo{flex-shrink:0;align-items:center;text-decoration:none;display:flex}.navbar__logo-img{width:auto;height:28px;display:block}.navbar__links{gap:4px;margin:0;padding:0;list-style:none;display:flex}.navbar__item{position:relative}.navbar__trigger{cursor:pointer;color:var(--color-text);white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:8px 12px;font-family:Hyundai Sans Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;font-weight:400;transition:background .15s;display:flex}.navbar__trigger:hover{background:var(--color-bg-hover)}.navbar__arrow{opacity:.5;align-items:center;transition:opacity .15s,transform .18s;display:flex}.navbar__item:hover .navbar__arrow{opacity:.8;transform:rotate(180deg)}.navbar__dropdown{border:1px solid var(--color-border);background:var(--color-dropdown-bg);box-shadow:0 8px 24px var(--color-shadow);opacity:0;visibility:hidden;pointer-events:none;transform-origin:0 0;border-radius:8px;flex-direction:column;gap:2px;min-width:180px;margin:0;padding:6px;list-style:none;transition:opacity .18s,transform .18s,visibility .18s;display:flex;position:absolute;top:calc(100% + 8px);left:0;transform:translateY(-6px)scale(.98)}.navbar__dropdown--open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.navbar__dropdown-link{color:var(--color-text);white-space:nowrap;border-radius:6px;padding:8px 12px;font-family:Hyundai Sans Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13.5px;font-weight:400;text-decoration:none;transition:background .15s;display:block}.navbar__dropdown-link:hover{background:var(--color-bg-hover)}.navbar__right{align-items:center;gap:8px;display:flex}.navbar__theme-btn{width:36px;height:36px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex}.navbar__theme-btn:hover{background:var(--color-bg-hover)}.navbar__hamburger{width:36px;height:36px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:none}.navbar__hamburger:hover{background:var(--color-bg-hover)}.navbar__overlay{z-index:250;opacity:0;background:#0000004d;transition:opacity .22s;display:none;position:fixed;top:44px;bottom:0;left:0;right:0}.navbar__overlay--open{opacity:1;display:block}.navbar__drawer{z-index:300;background:color-mix(in srgb, var(--color-surface) 96%, transparent);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);box-shadow:0 8px 32px var(--color-shadow);overscroll-behavior:contain;opacity:0;visibility:hidden;flex-direction:column;max-height:calc(100dvh - 44px);transition:opacity .22s,transform .22s,visibility .22s;display:flex;position:fixed;top:44px;left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.navbar__drawer--open{opacity:1;visibility:visible;transform:translateY(0)}.navbar__drawer-nav{flex-direction:column;flex:1;gap:4px;padding:16px 16px 8px;display:flex;overflow-y:auto}.navbar__drawer-section{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:12px;transition:border-color .15s;overflow:hidden}.navbar__drawer-section:has(.navbar__drawer-trigger--open){border-color:var(--color-border-strong)}.navbar__drawer-trigger{width:100%;color:var(--color-text-muted);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;justify-content:space-between;align-items:center;padding:13px 16px;font-family:Syncopate,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:10.5px;font-weight:700;transition:color .15s,background .15s;display:flex}.navbar__drawer-trigger:hover{color:var(--color-text);background:color-mix(in srgb, var(--color-bg-hover) 60%, transparent)}.navbar__drawer-trigger--open{color:var(--color-text);border-bottom:1px solid var(--color-border);border-radius:12px 12px 0 0}.navbar__drawer-arrow{opacity:.35;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .22s,opacity .15s;display:flex}.navbar__drawer-trigger:hover .navbar__drawer-arrow,.navbar__drawer-trigger--open .navbar__drawer-arrow{opacity:.65}.navbar__drawer-arrow--open{transform:rotate(180deg)}.navbar__drawer-list{opacity:0;max-height:0;margin:0;padding:0;list-style:none;transition:max-height .28s,opacity .22s;overflow:hidden}.navbar__drawer-list--open{opacity:1;max-height:400px;padding:6px 0}.navbar__drawer-link{color:var(--color-text-muted);align-items:center;gap:10px;padding:9px 16px;font-size:13.5px;font-weight:400;text-decoration:none;transition:color .15s,background .15s;display:flex}.navbar__drawer-link:before{content:"";background:var(--color-accent);opacity:.5;border-radius:50%;flex-shrink:0;width:3px;height:3px}.navbar__drawer-link:hover{color:var(--color-text);background:color-mix(in srgb, var(--color-bg-hover) 60%, transparent)}.navbar__drawer-link:hover:before{opacity:1}@media (max-width:900px){.navbar__links{display:none}.navbar__hamburger{display:flex}}.footer{background:var(--color-bg-subtle);border-top:1px solid var(--color-border);margin-top:auto;position:relative}.footer:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--color-border-strong) 30%, var(--color-border-strong) 70%, transparent 100%);opacity:.35;height:2px;display:block}.footer__inner{align-items:center;max-width:1920px;margin:0 auto;padding:40px 40px 32px;display:flex}.footer__brand{flex-direction:row;align-items:center;gap:20px;display:flex}.footer__tagline{color:var(--color-text-muted);border-left:1px solid var(--color-border);margin:0;padding-left:20px;font-size:13px;line-height:1.6}.footer__logo-link{align-items:center;text-decoration:none;transition:opacity .15s;display:inline-flex}.footer__logo-link:hover{opacity:.7}.footer__logo-img{width:auto;height:39px;display:block}.footer__tagline{color:var(--color-text-muted);max-width:230px;margin:0;font-size:13px;line-height:1.7}.footer__github{letter-spacing:.03em;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:20px;align-items:center;gap:7px;width:-moz-fit-content;width:fit-content;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.footer__github:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-bg-hover)}.footer__nav{grid-template-columns:repeat(3,1fr);gap:36px 32px;display:grid}.footer__col-heading{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text);margin:0 0 14px;font-family:Syncopate,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:10px;font-weight:700}.footer__col-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.footer__link{color:var(--color-text-muted);align-items:center;gap:0;font-size:13px;text-decoration:none;transition:color .15s,gap .15s;display:inline-flex}.footer__link:before{content:"→";opacity:0;width:0;font-size:11px;transition:opacity .15s,width .15s;overflow:hidden}.footer__link:hover{color:var(--color-text);gap:5px}.footer__link:hover:before{opacity:1;width:12px}.footer__bar{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1920px;margin:0 auto;padding:14px 40px;display:flex}.footer__copy{color:var(--color-text-muted);letter-spacing:.02em;font-size:11px}.footer__bar-links{align-items:center;gap:12px;display:flex}.footer__bar-link{color:var(--color-text-muted);letter-spacing:.02em;font-size:11px;text-decoration:none;transition:color .15s}.footer__bar-link:hover{color:var(--color-text)}.footer__bar-dot{background:var(--color-border-strong);opacity:.5;border-radius:50%;flex-shrink:0;width:3px;height:3px}.footer__nav--mobile{display:none}.footer__accordion{border-bottom:1px solid var(--color-border)}.footer__accordion-trigger{width:100%;color:var(--color-text);letter-spacing:.04em;cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 0;font-size:13px;font-weight:600;display:flex}.footer__accordion-chevron{color:var(--color-text-muted);flex-shrink:0;align-items:center;transition:transform .2s;display:flex}.footer__accordion-chevron--open{transform:rotate(180deg)}.footer__accordion-list{flex-direction:column;gap:10px;margin:0;padding:0 0 12px;list-style:none;display:flex}.footer__accordion-list .footer__link{color:var(--color-text-muted);font-size:14px}@media (max-width:680px){.footer__inner{gap:28px;padding:32px 20px 24px}.footer__nav--desktop{display:none}.footer__nav--mobile{display:block}.footer__bar{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:16px 20px}.footer__bar-links{justify-content:center}}
