:root{--accent:#c7f24a;--accent-ink:#15200a;--accent-soft:#eafbc2;--accent-deep:#9bd417;--ink:#0b0b0c;--ink-2:#1a1a1d;--paper:#f4f3ee;--surface:#ffffff;--surface-2:#faf9f6;--line:#e7e5dd;--line-2:#d8d6cc;--t-1:#0b0b0c;--t-2:#54524c;--t-3:#8a877e;--t-on-dark-1:#f4f3ee;--t-on-dark-2:#a8a69d;--t-on-dark-3:#6f6d65;--pos:#1f9d57;--neg:#d8533a;--warn:#e0a32e;--info:#4b74e8;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;--sh-sm:0 1px 2px rgba(11,11,12,.06),0 1px 1px rgba(11,11,12,.04);--sh-md:0 4px 16px rgba(11,11,12,.07),0 1px 3px rgba(11,11,12,.05);--sh-lg:0 18px 50px rgba(11,11,12,.13),0 6px 16px rgba(11,11,12,.07);--sh-pop:0 24px 70px rgba(11,11,12,.22);--f-display:"Pretendard Variable",Pretendard,system-ui,sans-serif;--f-ui:"Pretendard Variable",Pretendard,system-ui,sans-serif;--f-mono:"Space Mono",ui-monospace,monospace;--maxw:1240px;--app-bg:var(--paper)}.theme-studio{--app-bg:#121214;--surface:#1d1d21;--surface-2:#26262b;--line:#2e2e34;--line-2:#3a3a41;--t-1:#f4f3ee;--t-2:#b6b4ac;--t-3:#87857d}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:var(--f-ui);color:var(--t-1);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5{font-family:var(--f-display);font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.12;text-wrap:pretty}p{margin:0;line-height:1.55}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img{display:block;max-width:100%}.mono{font-family:var(--f-mono);font-feature-settings:"tnum" 1}.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--t-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-ui);font-weight:600;font-size:14.5px;line-height:1;padding:12px 18px;border-radius:var(--r-pill);border:1px solid transparent;transition:transform .12s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover{box-shadow:0 6px 18px color-mix(in oklab,var(--accent) 55%,transparent)}.btn-dark{background:var(--ink);color:var(--t-on-dark-1)}.btn-dark:hover{background:#000}.btn-ghost{background:transparent;color:var(--t-1);border-color:var(--line-2)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--ink)}.btn-ghost-dark{background:transparent;color:var(--t-on-dark-1);border-color:rgba(255,255,255,.22)}.btn-ghost-dark:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}.btn-soft{background:var(--surface-2);color:var(--t-1);border-color:var(--line)}.btn-soft:hover{background:#fff;border-color:var(--line-2)}.btn-sm{padding:8px 13px;font-size:13px}.btn-lg{padding:15px 24px;font-size:16px}.btn-icon{padding:10px;border-radius:var(--r-sm)}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.card-pad{padding:22px}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;padding:4px 9px;border-radius:var(--r-pill);background:var(--surface-2);color:var(--t-2);border:1px solid var(--line)}.badge-accent{background:var(--accent-soft);color:var(--accent-deep);border-color:color-mix(in oklab,var(--accent) 40%,var(--line))}.badge-live{background:color-mix(in oklab,var(--pos) 12%,#fff);color:var(--pos);border-color:color-mix(in oklab,var(--pos) 25%,var(--line))}.badge-warn{background:color-mix(in oklab,var(--warn) 14%,#fff);color:#9a6b0d;border-color:color-mix(in oklab,var(--warn) 30%,var(--line))}.badge-review{background:color-mix(in oklab,var(--info) 12%,#fff);color:var(--info);border-color:color-mix(in oklab,var(--info) 25%,var(--line))}.dot{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block}.field-label{display:block;font-size:12.5px;font-weight:600;color:var(--t-2);margin-bottom:7px;letter-spacing:.01em}.input,.select,.textarea{width:100%;font-family:var(--f-ui);font-size:14.5px;color:var(--t-1);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-sm);padding:11px 13px;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 35%,transparent)}.input::placeholder{color:var(--t-3)}.divider{height:1px;background:var(--line);border:0;margin:0}.scroll-thin::-webkit-scrollbar{width:9px;height:9px}.scroll-thin::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:99px;border:2px solid var(--surface)}.scroll-thin::-webkit-scrollbar-track{background:transparent}.bar{height:7px;background:var(--line);overflow:hidden}.bar,.bar>span{border-radius:99px}.bar>span{display:block;height:100%;background:var(--accent)}.ring{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--line-2)}@keyframes mrFadeUp{0%{transform:translateY(12px)}to{transform:none}}@keyframes mrScaleIn{0%{transform:scale(.97)}to{transform:none}}.anim-up{animation:mrFadeUp .5s cubic-bezier(.2,.7,.2,1) both}.anim-fade{animation:mrFadeUp .5s ease both}.pp-track{cursor:pointer;transition:background .14s}.pp-track:hover{background:var(--surface-2)}.pp-track:hover .pp-play{opacity:1!important}.pp-rel{transition:transform .16s ease}.pp-rel:hover{transform:translateY(-3px)}.spin{animation:mrSpin 1s linear infinite}@keyframes mrSpin{to{transform:rotate(1turn)}}@keyframes mrFade{0%{opacity:0}to{opacity:1}}.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:200;flex-direction:column;gap:8px}.toast,.toast-wrap{display:flex;align-items:center}.toast{background:var(--ink);color:var(--t-on-dark-1);border-radius:12px;padding:12px 18px;font-size:13.5px;box-shadow:var(--sh-pop);gap:10px;animation:mrFadeUp .25s ease both;max-width:480px}.toast.err{background:#3a120a;color:#ffd9cf}.toast.ok-t{background:#122a18;color:#c9f3d6}.skeleton{background:linear-gradient(90deg,var(--line) 25%,var(--surface-2) 50%,var(--line) 75%);background-size:200% 100%;animation:mrShimmer 1.4s infinite;border-radius:8px}@keyframes mrShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.nav-link{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;border:none;background:transparent;color:var(--t-on-dark-2);font-size:14.5px;font-weight:500;font-family:var(--f-ui);text-align:left;cursor:pointer;transition:background .14s,color .14s;text-decoration:none}.nav-link:hover{background:rgba(255,255,255,.045)}.nav-link.active{background:rgba(255,255,255,.09);color:var(--paper);font-weight:600}input[type=range]{accent-color:var(--accent-deep)}.tbl-row:hover{background:var(--surface-2)}@media (max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)!important}.grid-2,.grid-3{grid-template-columns:1fr!important}}select.select{padding-top:0;padding-bottom:0;line-height:1.3;height:42px}@keyframes addonPulse{0%{box-shadow:0 0 0 0 color-mix(in oklab,var(--accent) 65%,transparent)}70%{box-shadow:0 0 0 14px transparent}to{box-shadow:0 0 0 0 transparent}}.addon-highlight{animation:addonPulse 1.1s ease-out 2;border-color:var(--accent-deep)!important}