@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/_next/static/media/PretendardVariable.ff840cfe.woff2) format("woff2-variations")}:root{color-scheme:dark;--color-bg-base:#0a0a0a;--color-bg-surface:#111111;--color-bg-elevated:#1a1a1a;--color-bg-hover:#222222;--color-border-subtle:#2a2a2a;--color-border-default:#3a3a3a;--color-border-strong:#555555;--color-text-primary:#ededed;--color-text-secondary:#888888;--color-text-tertiary:#555555;--color-text-inverse:#0a0a0a;--color-accent:#ededed;--color-accent-subtle:#1f1f1f;--color-accent-pov:#4b8eff;--color-accent-glow:rgba(75,142,255,0.12);--color-accent-glow-strong:rgba(75,142,255,0.2);--gradient-hero:radial-gradient(ellipse 80% 60% at 50% -10%,var(--color-accent-glow-strong) 0%,var(--color-accent-glow) 40%,transparent 70%);--nav-blur-bg:rgba(10,10,10,0.8);--color-tag-bg:#1f1f1f;--color-tag-text:#aaaaaa;--color-tag-border:#333333;--color-code-bg:#161616;--color-code-text:#c9d1d9;--color-code-border:#2a2a2a;--color-success:#22c55e;--color-error:#ef4444;--color-info:#3b82f6;--color-warning:#f59e0b;--color-ghost-text:#444444;--font-sans:"Pretendard Variable","Pretendard",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;--font-mono:"Geist Mono","JetBrains Mono","Fira Code","Cascadia Code",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.5rem;--text-display:clamp(2.5rem,5.5vw,4.5rem);--text-display-lh:1.08;--text-display-ls:-0.03em;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-none:0;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-full:9999px;--shadow-none:none;--shadow-sm:0 1px 2px rgba(0,0,0,0.3);--shadow-md:0 4px 16px rgba(0,0,0,0.4);--shadow-lg:0 8px 32px rgba(0,0,0,0.5);--ease-default:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--duration-fast:100ms;--duration-base:180ms;--duration-slow:300ms;--duration-enter:220ms;--duration-exit:160ms}[data-theme=light]{color-scheme:light;--color-bg-base:#f7f6f3;--color-bg-surface:#ffffff;--color-bg-elevated:#ffffff;--color-bg-hover:#f0eeeb;--color-border-subtle:#e8e6e1;--color-border-default:#d4d0c8;--color-border-strong:#999999;--color-text-primary:#111111;--color-text-secondary:#666666;--color-text-tertiary:#aaaaaa;--color-text-inverse:#ffffff;--color-accent:#111111;--color-accent-subtle:#f0eeeb;--color-accent-pov:#1a5fd4;--color-accent-glow:rgba(26,95,212,0.08);--color-accent-glow-strong:rgba(26,95,212,0.15);--gradient-hero:radial-gradient(ellipse 80% 60% at 50% -10%,var(--color-accent-glow-strong) 0%,var(--color-accent-glow) 40%,transparent 70%);--nav-blur-bg:rgba(247,246,243,0.85);--color-tag-bg:#f0eeeb;--color-tag-text:#555555;--color-tag-border:#e0ddd6;--color-code-bg:#f4f2ef;--color-code-text:#333333;--color-code-border:#e0ddd6;--color-success:#16a34a;--color-error:#dc2626;--color-info:#3b82f6;--color-warning:#d97706;--color-ghost-text:#cccccc;--shadow-sm:0 1px 2px rgba(0,0,0,0.08);--shadow-md:0 4px 16px rgba(0,0,0,0.12);--shadow-lg:0 8px 32px rgba(0,0,0,0.18)}*{box-sizing:border-box}.pov-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:0;border-radius:var(--radius-md);font-family:var(--font-sans);font-weight:var(--weight-medium);line-height:1;letter-spacing:0;cursor:pointer;transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}.pov-button:active:not(:disabled){transform:scale(.97)}.pov-button:disabled{opacity:.35;cursor:not-allowed}.pov-button:focus-visible{outline:2px solid var(--color-border-strong);outline-offset:2px}.pov-button--sm{height:28px;padding:0 12px;font-size:var(--text-sm)}.pov-button--md{height:36px;padding:0 16px;font-size:var(--text-sm)}.pov-button--lg{height:44px;padding:0 20px;font-size:var(--text-base)}.pov-button--primary{background:var(--color-accent);color:var(--color-text-inverse)}.pov-button--primary:hover:not(:disabled){background:#ffffff}[data-theme=light] .pov-button--primary:hover:not(:disabled){background:#000000}.pov-button--secondary{background:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-default)}.pov-button--secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-strong)}.pov-button--ghost{background:transparent;color:var(--color-text-secondary)}.pov-button--ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.pov-button--danger{background:transparent;color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error),transparent 70%)}.pov-button--danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-error),transparent 92%)}.pov-button__icon{display:inline-flex;align-items:center;justify-content:center}.pov-link{transition:color var(--duration-fast) var(--ease-default),-webkit-text-decoration-color var(--duration-fast) var(--ease-default);transition:color var(--duration-fast) var(--ease-default),text-decoration-color var(--duration-fast) var(--ease-default);transition:color var(--duration-fast) var(--ease-default),text-decoration-color var(--duration-fast) var(--ease-default),-webkit-text-decoration-color var(--duration-fast) var(--ease-default)}.pov-link--prose{color:var(--color-text-primary);text-decoration:underline;-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);text-decoration-thickness:1px;text-underline-offset:3px}.pov-link--prose:hover{-webkit-text-decoration-color:var(--color-text-primary);text-decoration-color:var(--color-text-primary)}.pov-link--nav{color:var(--color-text-secondary);text-decoration:none}.pov-link--nav:hover{color:var(--color-text-primary)}.pov-tag{display:inline-flex;align-items:center;height:24px;padding:0 8px;border:1px solid var(--color-tag-border);border-radius:var(--radius-sm);background:var(--color-tag-bg);color:var(--color-tag-text);font-size:var(--text-xs);font-weight:var(--weight-medium);line-height:1;letter-spacing:.02em;text-decoration:none;white-space:nowrap}.pov-tag--link{cursor:pointer;transition:background var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default)}.pov-tag--link:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.pov-input{width:100%;min-width:0;height:36px;padding:0 var(--space-3);border:1px solid var(--color-border-default);border-radius:var(--radius-md);outline:none;background:var(--color-bg-surface);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-sm)}.pov-input::placeholder{color:var(--color-text-tertiary)}.pov-input:focus{border-color:var(--color-border-strong);box-shadow:0 0 0 3px rgba(255,255,255,.06)}[data-theme=light] .pov-input:focus{box-shadow:0 0 0 3px rgba(0,0,0,.06)}.pov-input--error,.pov-input--error:focus{border-color:var(--color-error)}.pov-input--error:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-error),transparent 75%)}.pov-input:disabled{opacity:.4;cursor:not-allowed}.pov-textarea{min-height:80px;padding:var(--space-3);resize:vertical;line-height:1.6}.pov-code-block{overflow:hidden;margin:var(--space-8) 0;border:1px solid var(--color-code-border);border-radius:var(--radius-md);background:var(--color-code-bg)}.pov-code-block__header{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 var(--space-4);border-bottom:1px solid var(--color-code-border);background:#1e1e1e;color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs)}[data-theme=light] .pov-code-block__header{background:#eceae7}.pov-code-block__body{overflow-x:auto;color:var(--color-code-text);font-family:var(--font-mono);font-size:var(--text-sm)}.pov-code-block__body code,.pov-code-block__body pre{margin:0;padding:var(--space-4);background:transparent!important;font-family:inherit;font-size:inherit}.pov-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:pov-fade-in var(--duration-enter) var(--ease-out)}[data-theme=light] .pov-modal{background:rgba(0,0,0,.4)}.pov-modal__panel{width:calc(100% - 32px);max-width:480px;padding:var(--space-6);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);animation:pov-modal-in var(--duration-enter) var(--ease-spring)}.pov-modal__header{margin-bottom:var(--space-4);color:var(--color-text-primary);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.pov-modal__footer{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-6)}.pov-toast-stack{position:fixed;right:16px;bottom:16px;z-index:200;display:flex;width:min(320px,calc(100vw - 32px));flex-direction:column;gap:var(--space-2)}.pov-toast{position:relative;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border-subtle);border-left:3px solid var(--color-success);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-md);font-size:var(--text-sm);animation:pov-toast-in var(--duration-enter) var(--ease-out);transition:opacity var(--duration-exit) var(--ease-in),transform var(--duration-exit) var(--ease-in)}.pov-toast--error{border-left-color:var(--color-error)}.pov-toast--warning{border-left-color:var(--color-warning)}.pov-toast--closing{opacity:0;transform:translateY(8px)}.pov-toast__dismiss{position:absolute;top:6px;right:6px;width:24px;padding:0}.pov-toast__title{color:var(--color-text-primary);font-weight:var(--weight-medium)}.pov-toast__message{margin-top:var(--space-1);padding-right:var(--space-5);color:var(--color-text-secondary)}@keyframes pov-fade-in{0%{opacity:0}}@keyframes pov-modal-in{0%{opacity:0;transform:scale(.97)}}@keyframes pov-toast-in{0%{opacity:0;transform:translateY(8px)}}