*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-synthesis:none}body{font-family:var(--font);letter-spacing:-.008em;font-feature-settings:"ss01" 0, "cv11" 1;color:var(--ink);background:var(--bg);transition:background-color var(--dur-3) var(--ease), color var(--dur-3) var(--ease);margin:0;font-size:15px;line-height:1.55}:lang(ko) body{word-break:keep-all;overflow-wrap:anywhere;letter-spacing:-.012em}h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0}button:disabled{cursor:default}img,svg,canvas,video{display:block}hr{background:var(--line);border:0;height:1px;margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}::selection{background:color-mix(in srgb, var(--accent) 22%, transparent)}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.mono{font-family:var(--mono);font-feature-settings:"zero" 0}.label-mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:500;line-height:1.3}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;border-radius:var(--r-pill);background:var(--ink);color:var(--bg);transition:top var(--dur-2) var(--ease);padding:10px 16px;font-weight:600;position:fixed;top:-64px;left:12px}.skip-link:focus{top:12px}.noscript{border-radius:var(--r-sm);background:var(--ink);color:var(--bg);text-align:center;padding:14px 18px;position:fixed;inset:auto 16px 16px}.icon{flex:none;width:1.25em;height:1.25em}.wordmark{letter-spacing:-.025em;color:var(--ink);align-items:center;gap:10px;font-size:16px;font-weight:650;display:inline-flex}.wordmark-mark{width:30px;height:30px;color:var(--ink);flex:none;place-items:center;display:grid}.wordmark-mark svg{width:100%;height:100%}.mark-path{stroke:var(--bg)}.mark-dot{fill:var(--accent)}.btn{border-radius:var(--r-pill);letter-spacing:-.012em;white-space:nowrap;isolation:isolate;min-height:44px;transition:transform var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), opacity var(--dur-2) var(--ease);justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14.5px;font-weight:600;display:inline-flex;position:relative}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;pointer-events:none}.btn .icon{width:17px;height:17px;transition:transform var(--dur-3) var(--ease)}.btn:hover .icon:last-child:not(:first-child){transform:translate(3px)}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:color-mix(in srgb, var(--ink) 84%, var(--accent));box-shadow:0 10px 30px -12px color-mix(in srgb, var(--ink) 60%, transparent)}.btn-ghost{border:1px solid var(--line-2);color:var(--ink);background:color-mix(in srgb, var(--surface) 55%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:hover{border-color:var(--line-3);background:var(--surface)}.btn-accent{background:var(--accent);color:var(--on-accent)}.btn-accent:hover{background:color-mix(in srgb, var(--accent) 88%, #000);box-shadow:0 12px 32px -12px var(--accent-glow)}.btn-light{background:var(--inverse-ink);color:var(--inverse)}.btn-light:hover{background:color-mix(in srgb, var(--inverse-ink) 90%, var(--accent))}.btn-sm{gap:6px;min-height:34px;padding:0 14px;font-size:13px}.btn-sm .icon{width:15px;height:15px}.btn-lg{min-height:54px;padding:0 26px;font-size:15.5px}.btn.wide{width:100%}.icon-btn{border-radius:var(--r-pill);width:36px;height:36px;color:var(--ink-2);transition:background-color var(--dur-1) var(--ease), color var(--dur-1) var(--ease), transform var(--dur-2) var(--ease);flex:none;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.icon-btn:active{transform:scale(.94)}.icon-btn .icon{width:18px;height:18px}.lang-btn{letter-spacing:.02em;font-size:12px;font-weight:700}.text-btn{border-radius:var(--r-xs);min-height:30px;color:var(--ink-3);transition:color var(--dur-1) var(--ease);align-items:center;gap:2px;padding:0 4px 0 6px;font-size:12.5px;font-weight:600;display:inline-flex}.text-btn:hover{color:var(--ink)}.text-btn.accent{color:var(--accent-ink)}.text-btn .icon{width:15px;height:15px;transition:transform var(--dur-2) var(--ease)}.text-btn:hover .icon:last-child{transform:translate(2px)}.pill{border-radius:var(--r-pill);letter-spacing:-.004em;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--ink-2);background:color-mix(in srgb, var(--ink) 5%, transparent);align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;line-height:1.25;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.pill.no-dot:before{display:none}.pill .icon{width:12px;height:12px}.pill.dense{gap:5px;padding:3px 8px;font-size:11px}.tone-accent{color:var(--accent-ink);background:var(--accent-soft)}.tone-success{color:var(--success);background:var(--success-soft)}.tone-warning{color:var(--warning);background:var(--warning-soft)}.tone-danger{color:var(--danger);background:var(--danger-soft)}.tone-text-success{color:var(--success)!important}.tone-text-warning{color:var(--warning)!important}.tone-text-danger{color:var(--danger)!important}.tone-text-accent{color:var(--accent-ink)!important}.tone-text-neutral{color:var(--ink-3)!important}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:20px}.segmented{border-radius:var(--r-pill);background:color-mix(in srgb, var(--ink) 5%, transparent);isolation:isolate;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:inline-grid;position:relative}.segmented button{z-index:1;border-radius:var(--r-pill);min-height:30px;color:var(--ink-3);white-space:nowrap;font-variant-numeric:tabular-nums;transition:color var(--dur-2) var(--ease);padding:0 13px;font-size:12.5px;font-weight:550;position:relative}.segmented button:hover{color:var(--ink-2)}.segmented button[aria-pressed=true],.segmented button[aria-selected=true],.segmented button[aria-checked=true]{color:var(--ink);font-weight:650}.segmented .thumb{z-index:0;border-radius:var(--r-pill);background:var(--raised);box-shadow:var(--shadow-thumb);transition:transform var(--dur-3) var(--ease), width var(--dur-3) var(--ease);position:absolute;top:3px;bottom:3px;left:3px}.bar{background:color-mix(in srgb, var(--ink) 7%, transparent);border-radius:3px;height:6px;position:relative;overflow:hidden}.bar>i{border-radius:inherit;background:var(--accent);transition:width var(--dur-4) var(--ease);position:absolute;inset:0 auto 0 0}.pulse{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px;position:relative}.pulse:after{content:"";background:inherit;opacity:.4;animation:pulse 1.8s var(--ease) infinite;border-radius:50%;position:absolute;inset:0}.pulse.paused{background:var(--ink-4)}.pulse.paused:after{opacity:0;animation:none}@keyframes pulse{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(3.4)}}.select{appearance:none;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2385878f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 11px center / 14px;cursor:pointer;min-height:36px;transition:border-color var(--dur-1) var(--ease);padding:0 32px 0 14px;font-size:13.5px;font-weight:600}.select:hover{border-color:var(--line-3)}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease-out), transform 1.1s var(--ease-out);transition-delay:calc(var(--d,0) * 1ms + var(--i,0) * 70ms);transform:translateY(22px)}.js [data-reveal=fade]{transform:none}.js [data-reveal=scale]{transform:scale(.97)}.js [data-reveal].is-in{opacity:1;transform:none}.split-text .w{vertical-align:top;margin:-.06em -.02em -.12em;padding:.06em .02em .12em;display:inline-block;overflow:hidden}.split-text .wi{will-change:transform;display:inline-block}.js .split-text .wi{transition:transform 1.05s var(--ease-out);transition-delay:calc(var(--d,0) * 1ms + var(--wi,0) * 42ms);transform:translateY(108%)}.js .split-text.is-in .wi{transform:none}@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root){animation:.32s var(--ease) both vt-out}::view-transition-new(root){animation:.48s var(--ease-out) both vt-in}}@keyframes vt-out{to{opacity:0;transform:scale(.992)}}@keyframes vt-in{0%{opacity:0;transform:scale(1.008)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;transition-delay:0s!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.js [data-reveal],.js .split-text .wi{opacity:1;transform:none}}
