@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2) format("woff2");font-weight:100;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2) format("woff2");font-weight:200;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Pretendard;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2) format("woff2");font-weight:900;font-display:swap}:root{--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "Fira Code", "Courier New", monospace}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:#050508b8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);padding:0 clamp(1rem,4vw,2.5rem)}.site-header__brand{display:flex;align-items:center;gap:.65rem;color:var(--text);text-decoration:none}.site-header__logo{display:block;width:32px;height:32px;object-fit:contain}.site-header__name{font-size:.875rem;font-weight:300;letter-spacing:0}.site-header__nav{display:flex;align-items:center;gap:2rem}.site-header__nav a{font-size:.72rem;font-weight:500;letter-spacing:0;text-decoration:none;color:var(--text-muted);transition:color .2s}.site-header__nav a:hover,.site-header__nav a.is-active{color:var(--text)}.site-header__actions{display:flex;align-items:center;gap:1rem}.site-header__version{font-size:.72rem;color:var(--text-dim);letter-spacing:.04em}.site-header__menu{display:none;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;padding:0;border:none;background:transparent;cursor:pointer}.site-header__menu span{display:block;width:18px;height:1.5px;margin:0 auto;background:var(--text);transition:transform .25s cubic-bezier(.22,1,.36,1),opacity .25s}.site-header__menu[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.site-header__menu[aria-expanded=true] span:nth-child(2){opacity:0}.site-header__menu[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.lang-select{display:inline-flex;align-items:center;gap:.45rem}.lang-select__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lang-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:.35rem 1.75rem .35rem .7rem;border-radius:999px;border:1px solid var(--border);background:#ffffff08 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M7 10l5 5 5-5' stroke='%238b8b9e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right .55rem center;font-family:inherit;font-size:.68rem;font-weight:500;letter-spacing:.02em;color:var(--text-muted);cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}.lang-select__input:hover{color:var(--text);border-color:#ffffff24}.lang-select__input:focus-visible{outline:2px solid rgb(139 124 248 / 45%);outline-offset:2px}.footer{position:relative;z-index:1;width:100%;padding:2rem clamp(1.5rem,5vw,3rem);border-top:1px solid rgb(255 255 255 / 3%)}.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;max-width:var(--max-w);margin:0 auto}.footer__copy{margin:0;font-size:.85rem;color:#fff3}.footer__family{margin:0;flex-shrink:0;font-size:.72rem;color:#ffffff47;text-align:right}.footer__family a{margin-left:.35rem;color:#ffffff61;text-decoration:none;transition:color .2s}.footer__family a:hover{color:var(--accent-soft)}@media(max-width:768px){.site-header__version{display:none}.site-header__nav{position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;gap:0;padding:1rem 0;background:#050508f5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transform:translateY(-110%);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.22,1,.36,1),opacity .3s}.site-header__nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}.site-header__nav a{padding:.85rem 2rem;width:100%}.site-header__menu{display:flex}}@media(max-width:640px){.footer__inner{flex-direction:column;align-items:flex-start;gap:.75rem}.footer__family{text-align:left}}:root{font-family:var(--font-sans);color:#f2f2f8;background:#050508;--bg: #050508;--bg-elevated: #0e0e14;--bg-card: #12121a;--text: #f2f2f8;--text-muted: #8b8b9e;--text-dim: #5a5a6e;--accent: #8b7cf8;--accent-soft: #a89cf9;--accent-hover: #7a6ae8;--accent-glow: rgb(139 124 248 / 35%);--badge-bg: rgb(139 124 248 / 15%);--border: rgb(255 255 255 / 8%);--code-bg: #0a0a10;--preview-bg: #0a0a10;--header-h: 64px;--max-w: 1080px;--content-w: 960px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 40% at 50% -10%,rgb(99 102 241 / 14%) 0%,transparent 70%),radial-gradient(ellipse 50% 40% at 100% 100%,rgb(139 92 246 / 10%) 0%,transparent 70%)}code{font-family:var(--font-mono);font-size:.9em;padding:.15em .45em;border-radius:4px;background:#ffffff0f;color:var(--accent-soft)}main{position:relative;z-index:1;max-width:var(--content-w);margin:0 auto;padding:calc(var(--header-h) + 2.5rem) clamp(1rem,4vw,2.5rem) 4rem}.page-header{margin-bottom:.5rem}.page-header__top{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.page-header__framework-logo{flex-shrink:0;width:2.75rem;height:2.75rem;object-fit:contain}.page-header__intro{min-width:0}.page-header__eyebrow{margin:0 0 .5rem;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-soft)}.page-header__title{margin:0 0 .75rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:700;letter-spacing:-.03em}.page-header__desc{margin:0;max-width:36rem}h1{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;letter-spacing:-.02em}h2{color:var(--text)}p{color:var(--text-muted);line-height:1.7;font-weight:300}.sprite-sheet{margin-top:2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem}.sprite-sheet h2{margin:0 0 .75rem;font-size:1.1rem}.sprite-sheet__desc{margin:0 0 1rem}.sprite-sheet__image-wrap{overflow-x:auto;padding:1rem;background:#000;border-radius:8px;border:1px solid var(--border)}.sprite-sheet__image{display:block;max-width:100%;height:auto;margin:0 auto;image-rendering:pixelated}.sprite-sheet__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem 1.5rem;margin:1rem 0 0;padding:1rem 0 0;border-top:1px solid var(--border)}.sprite-sheet__meta dt{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.sprite-sheet__meta dd{margin:.25rem 0 0;font-size:.95rem;color:var(--text)}.props-section{margin-top:2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem}.props-section h2{margin:0 0 .5rem;font-size:1.1rem}.props-section__desc{margin:0 0 1rem;font-size:.92rem}.props-section__group+.props-section__group{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.props-section__subtitle{margin:0 0 .65rem;font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft);font-family:var(--font-mono)}.props-table__wrap{overflow-x:auto}.props-table{width:100%;min-width:32rem;border-collapse:collapse;border:1px solid var(--border);font-size:.88rem}.props-table--methods{min-width:24rem}.props-table th,.props-table td{padding:.55rem .75rem;text-align:left;border:1px solid var(--border);vertical-align:top}.props-table th{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);background:#ffffff08}.props-table .props-table__prop,.props-table .props-table__method{font-family:var(--font-mono);color:var(--accent-soft);white-space:nowrap}.props-table .props-table__type,.props-table .props-table__default{font-family:var(--font-mono);font-size:.82rem;color:var(--text-muted);white-space:nowrap}.props-table .props-table__desc{color:var(--text-muted);font-size:.86rem;line-height:1.55;min-width:10rem}.renderer-section{margin-top:2rem}.renderer-section h2{margin:0 0 1rem;font-size:1.1rem}.demo-grid{display:grid;gap:1.5rem}@media(min-width:640px){.demo-grid{grid-template-columns:1fr 1fr}}.demo-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:border-color .2s}.demo-card:hover{border-color:#ffffff24}.demo-card h2{margin:0 0 1rem;font-size:1.1rem}.preview{display:flex;align-items:center;justify-content:center;min-height:160px;background:var(--preview-bg);border:1px solid var(--border);border-radius:8px;margin-bottom:1rem}.preview--sprite{min-height:200px;background:#000}.controls{display:flex;gap:.5rem;flex-wrap:wrap}button{padding:.5rem 1rem;border:none;border-radius:999px;background:linear-gradient(135deg,var(--accent) 0%,#6366f1 100%);color:#fff;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:transform .15s,box-shadow .15s}button:hover{transform:translateY(-1px);box-shadow:0 4px 16px var(--accent-glow)}.badge{display:inline-block;margin-left:.5rem;padding:.15rem .5rem;border-radius:999px;background:var(--badge-bg);color:var(--accent-soft);border:1px solid rgb(139 124 248 / 20%);font-size:.75rem;font-weight:600}.code-section{margin-top:2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:1.5rem}.code-section h2{margin:0 0 1rem;font-size:1.1rem}.code-section__desc{margin:0 0 1.25rem;font-size:.9rem;color:var(--text-muted);line-height:1.65}.code-block__desc{margin:0 0 .65rem;font-size:.88rem;color:var(--text-muted);line-height:1.6}.code-block{margin-bottom:1.25rem}.code-block:last-child{margin-bottom:0}.code-block h3{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--text-dim);letter-spacing:.04em}.code-block pre{margin:0;padding:1.15rem 1.35rem;overflow-x:auto;background:var(--code-bg);color:#dce4f4;border:1px solid var(--border);border-radius:8px;font-size:.95rem;font-weight:600;line-height:1.75}.code-block code{font-family:var(--font-mono);font-weight:inherit;white-space:pre;padding:0;background:transparent;color:inherit}.code-block .code-kw{color:#cba6f7}.code-block .code-name{color:#89dceb}.code-block .code-str{color:#a6e3a1}.code-block .code-tag{color:#89b4fa}.code-block .code-attr,.code-block .code-num{color:#fab387}.code-block .code-punct{color:#9399b2}.code-block pre,.code-block code{text-align:left}@media(max-width:640px){.demo-grid{grid-template-columns:1fr}}:root{--accent: #ff3e00;--accent-soft: #ff6b3d;--accent-hover: #e03600;--accent-glow: rgb(255 62 0 / 30%);--badge-bg: rgb(255 62 0 / 15%)}button{background:linear-gradient(135deg,var(--accent) 0%,#e03600 100%)}.badge{border-color:#ff3e0040;color:var(--accent-soft)}.lang-switch__btn.is-active{background:#ff3e002e}
