:root{--color-primary:#171717;--color-on-primary:#fff;--color-ink:#171717;--color-body:#4d4d4d;--color-mute:#666;--color-faint:#a1a1a1;--color-hairline:#ebebeb;--color-hairline-soft:#f2f2f2;--color-input-border:#8f8f8f;--color-canvas:#fafafa;--color-canvas-elevated:#fff;--color-link:#0070f3;--color-link-deep:#0761d1;--color-link-soft:#d3e5ff;--color-error:#e00;--color-error-deep:#c50000;--color-warning:#f5a623;--color-warning-soft:#ffefcf;--color-warning-deep:#ab570a;--color-violet:#7928ca;--color-cyan:#50e3c2;--color-pink:#ff0080;--color-magenta:#eb367f;--gradient-develop-start:#007cf0;--gradient-develop-end:#00dfd8;--gradient-preview-start:#7928ca;--gradient-preview-end:#ff0080;--gradient-ship-start:#ff4d4d;--gradient-ship-end:#f9cb28;--font-sans:Pretendard, Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--type-display-xl:600 48px/48px var(--font-sans);--tracking-display-xl:-2.4px;--type-heading-lg:600 32px/40px var(--font-sans);--tracking-heading-lg:-1.28px;--type-body-lg:400 16px/24px var(--font-sans);--type-body-md:400 14px/20px var(--font-sans);--type-body-sm:400 12px/16px var(--font-sans);--type-button-lg:500 16px/20px var(--font-sans);--type-button-md:500 14px/20px var(--font-sans);--type-mono-eyebrow:500 12px/16px var(--font-mono);--type-heading-page:600 24px/32px var(--font-sans);--tracking-heading-page:-.48px;--type-heading-sm:600 16px/24px var(--font-sans);--control-h:32px;--control-h-lg:40px;--tool-size:28px;--handle-size:20px;--sticky-top:72px;--radius-none:0px;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-pill:100px;--radius-full:9999px;--space-3xs:2px;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:40px;--space-3xl:64px;--space-4xl:96px;--space-section:128px;--color-overlay:#0000004d;--shadow-1:0 1px 1px #0000000a;--shadow-2:0 2px 2px #0000000a, 0 8px 16px -4px #00000014;--hero-mesh:radial-gradient(40% 50% at 15% 20%, var(--gradient-develop-end), transparent), radial-gradient(40% 50% at 45% 10%, var(--gradient-develop-start), transparent), radial-gradient(40% 50% at 75% 20%, var(--gradient-preview-start), transparent), radial-gradient(40% 50% at 90% 50%, var(--gradient-preview-end), transparent), radial-gradient(40% 50% at 60% 60%, var(--gradient-ship-end), transparent)}*{box-sizing:border-box}body{overflow-wrap:anywhere;font:var(--type-body-md);color:var(--color-body);background:var(--color-canvas);margin:0}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-ink);font-weight:600}a{color:var(--color-link);text-decoration:none}.display{font:var(--type-display-xl);letter-spacing:var(--tracking-display-xl);color:var(--color-ink)}.eyebrow{font:var(--type-mono-eyebrow);text-transform:uppercase;color:var(--color-mute)}.title{font:var(--type-heading-page);letter-spacing:var(--tracking-heading-page)}.subtitle{font:var(--type-heading-sm)}:lang(ko) .title{letter-spacing:calc(var(--tracking-heading-page) / 2)}.mute{color:var(--color-mute)}.spinner{border-radius:var(--radius-full);border:2px solid;border-right-color:#0000;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.loading{justify-content:center;align-items:center;gap:var(--space-xs);color:var(--color-mute);display:flex}.card .loading,.assist .loading{justify-content:flex-start}.btn[aria-busy]{align-items:center;gap:var(--space-xs);display:inline-flex}.loading-avatar{color:var(--color-mute);justify-content:center;align-items:center;display:flex}.is-hidden .cv-item-name{color:var(--color-mute)}.assist{top:var(--sticky-top);max-height:calc(100vh - var(--sticky-top) - var(--space-lg));border-left:1px solid var(--color-hairline);padding-left:var(--space-lg);flex-direction:column;display:flex;position:sticky;overflow-y:auto}.assist-block{gap:var(--space-xs);flex-direction:column;display:flex}.assist-block+.assist-block{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:1px solid var(--color-hairline)}.assist-block p,.assist-block ul{margin:0}.with-icon{align-items:center;gap:var(--space-xs);display:flex}.with-icon>svg{color:var(--color-mute);flex-shrink:0}.assist-meta{font:var(--type-body-sm);color:var(--color-mute)}.assist-notice{margin-top:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-hairline)}.assist-lead{color:var(--color-ink)}.tips ul{padding-left:var(--space-md)}.tips li+li{margin-top:var(--space-xxs)}.fb-item{gap:var(--space-xs);padding-top:var(--space-sm);border-top:1px solid var(--color-hairline-soft);flex-direction:column;display:flex}.fb-label{font:var(--type-body-sm);color:var(--color-mute);font-weight:500}.fb-keys{gap:var(--space-xxs);flex-direction:column;display:flex}.fb-ok{color:var(--color-link-deep)}.warn{color:var(--color-warning-deep)}.error{color:var(--color-error-deep)}:lang(ko) .display{letter-spacing:calc(var(--tracking-display-xl) / 2)}.btn{white-space:nowrap;font:var(--type-button-md);height:var(--control-h);padding:0 var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-hairline);background:var(--color-canvas-elevated);color:var(--color-ink);cursor:pointer}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn.pill{height:var(--control-h-lg);padding:0 var(--space-lg);border-radius:var(--radius-pill);font:var(--type-button-lg)}.btn.danger{color:var(--color-error-deep)}.btn:hover:not(:disabled){background:var(--color-hairline-soft)}.btn.primary:hover:not(:disabled){background:var(--color-ink);opacity:.85}.btn:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.btn.tool{width:var(--tool-size);height:var(--tool-size);border-radius:var(--radius-full);color:var(--color-mute);background:0 0;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.btn.tool:hover:not(:disabled){border-color:var(--color-hairline);color:var(--color-ink);background:0 0}.btn.tool[aria-pressed=true]{color:var(--color-ink)}.btn.tool.danger{color:var(--color-mute)}.btn.tool.danger:hover:not(:disabled){color:var(--color-error-deep);border-color:var(--color-error-deep)}.inline-item{gap:var(--space-xs);align-items:flex-start;display:flex;position:relative}.inline-item>.handle+.field,.inline-item>.handle+.fields-row{margin-left:calc(var(--space-xxs) - var(--space-xs))}.inline-item>.field,.inline-item>.fields-row{flex:1;min-width:0}.inline-item>.item-actions{margin-top:var(--space-xxs)}.item-actions{gap:var(--space-xxs);flex-shrink:0;line-height:0;display:flex}.nav{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);background:var(--color-canvas);border-bottom:1px solid var(--color-hairline);display:flex;position:sticky;top:0}.nav .group{align-items:center;gap:var(--space-xs);display:flex}.logo{font:var(--type-heading-sm);color:var(--color-ink);margin-right:var(--space-sm)}.nav-link{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-full);color:var(--color-body)}.nav-link.active{background:var(--color-hairline-soft);color:var(--color-ink)}.lang{height:var(--control-h);padding:var(--space-3xs);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);background:var(--color-canvas-elevated);align-items:stretch;display:inline-flex}.lang-item{align-items:stretch;display:inline-flex}.lang-sep{width:1px;height:14px;margin:0 var(--space-3xs);background:var(--color-hairline);align-self:center}.lang button{padding:0 var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;font:var(--type-button-md);color:var(--color-body);background:0 0;border:0}.lang button:hover{background:var(--color-hairline-soft)}.lang button.on{background:var(--color-hairline-soft);color:var(--color-ink)}.lang button:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.editor{gap:var(--space-lg);padding:var(--space-lg);grid-template-columns:220px minmax(0,1fr) 320px;align-items:start;max-width:1280px;margin:0 auto;display:grid}.sidebar{gap:var(--space-3xs);top:var(--sticky-top);flex-direction:column;display:flex;position:sticky}.sidebar a,.sidebar button{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);color:var(--color-body);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;display:flex}.sidebar a.active{color:var(--color-ink);background:var(--color-hairline-soft)}.dot{border-radius:var(--radius-full);background:var(--color-error);width:6px;height:6px}.mobile-select{width:100%}.fb-head{justify-content:space-between}.account-lang{padding:0 var(--space-xxs);justify-content:space-between}.stack{gap:var(--space-md);flex-direction:column;display:flex}.row{gap:var(--space-sm);align-items:center;display:flex}.row.between{justify-content:space-between}.card{--pad:var(--space-lg);background:var(--color-canvas-elevated);border:1px solid var(--color-hairline);border-radius:var(--radius-md);padding:var(--pad)}.subcard{--pad:var(--space-md);background:var(--color-canvas-elevated);border:1px solid var(--color-hairline);border-radius:var(--radius-sm);padding:var(--pad)}.item-row{align-items:flex-start;gap:var(--space-xxs);display:flex;position:relative}.item-row>.item{flex:1;min-width:0}.item-row.is-card>.handle{margin-top:calc(var(--space-lg) + 1px)}.item-row.is-sub>.handle{margin-top:calc(var(--space-md) + 1px)}.item{position:relative}.item>.item-body>.item-actions{z-index:1;top:calc(var(--pad) + var(--handle-size) - var(--tool-size));right:calc(var(--pad) - 6px);position:absolute}.item>.item-body:has(>.item-actions+.fields-row)>.item-actions{top:calc(var(--pad) + 6px)}.item-body>.item-actions+.fields-row{padding-right:calc(var(--tool-size) + var(--space-xs))}.item-body>.item-actions+.field>.field-head{padding-right:calc(var(--tool-size) + var(--space-xxs))}.btn.tool.handle{width:var(--handle-size);height:var(--handle-size);border-radius:var(--radius-sm);cursor:grab}.btn.tool.handle:active{cursor:grabbing}.handle{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}:where(.btn.tool.handle){position:relative}@media (pointer:coarse){.btn.tool.handle:before{content:"";position:absolute;inset:-12px}.handle-wide{min-height:44px}}.handle-wide{align-items:center;gap:var(--space-xxs);cursor:grab;flex:1;min-width:0;display:flex}.inline-item>.handle{margin-top:var(--space-xs)}@media (width>=641px){.item-row>.handle,.item-body .inline-item>.handle{left:calc(var(--handle-size) * -1);position:absolute}.item-body .inline-item>.handle+.field,.item-body .inline-item>.handle+.fields-row{margin-left:0}}.dragging{opacity:.5}.drop-before:before,.drop-after:after{content:"";border-radius:var(--radius-full);background:var(--color-link);pointer-events:none;height:2px;position:absolute;left:0;right:0}.drop-before:before{top:calc(var(--space-md) / -2 - 1px)}.drop-after:after{bottom:calc(var(--space-md) / -2 - 1px)}.fields-row{gap:var(--space-sm);align-items:flex-start;display:flex}.fields-row>.field{flex:1;min-width:0}.fields-row>.field:has(select){flex:none}.fields-row>.field:last-child:not(:first-child,:has(select)){flex:2}.item-body>.item-actions+.fields-row>.field:last-child>.field-head{padding-right:calc(var(--tool-size) + var(--space-xxs))}.list-group:not(:first-child){margin-top:var(--space-xs)}.list-group>.subtitle{margin-bottom:calc(var(--space-xxs) * -1);color:var(--color-body)}.item-body>.list-group{padding-top:var(--space-md);border-top:1px solid var(--color-hairline)}.item-body>.list-group.subcard{padding:var(--space-md) 0 0;background:0 0;border-width:1px 0 0;border-radius:0}.card.elevated{box-shadow:var(--shadow-2)}.field{gap:var(--space-xxs);flex-direction:column;display:flex}.field label{color:var(--color-body);font-weight:500}.req{color:var(--color-error-deep)}.input{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-input-border);border-radius:var(--radius-sm);background:var(--color-canvas-elevated);color:var(--color-ink);font:inherit}.input::placeholder{color:var(--color-mute);opacity:1}.input:focus{outline:2px solid var(--color-link);outline-offset:-1px}textarea.input{resize:vertical;min-height:96px}.field-label{color:var(--color-body);font-weight:500}.date-row{gap:var(--space-xs);flex-wrap:wrap;align-items:center;display:flex}.date-part{gap:var(--space-xxs);flex-wrap:wrap;align-items:center;display:flex}.date-part .input{width:auto}.date-sep{color:var(--color-mute)}.date-current{gap:var(--space-xxs);margin-left:var(--space-xs);align-items:center;display:flex}.field-hint{font:var(--type-body-sm);color:var(--color-mute)}.field-error{font:var(--type-body-sm);color:var(--color-error-deep)}.field-head{justify-content:space-between;align-items:baseline;gap:var(--space-xs);display:flex}.field{position:relative}.counter-float{position:absolute;bottom:100%;right:0}.counter{font:var(--type-body-sm);color:var(--color-error-deep);text-align:right;flex-shrink:0;margin-left:auto}.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}.chip{padding:var(--space-3xs) var(--space-xs);border-radius:var(--radius-full);font:var(--type-body-sm);color:var(--color-ink);display:inline-block}.chip.ok{background:var(--color-link-soft)}.chip.miss{background:var(--color-warning-soft)}.chips{gap:var(--space-xxs);flex-wrap:wrap;display:flex}.avatar{border-radius:var(--radius-full);object-fit:cover;background:var(--color-hairline-soft);flex-shrink:0;width:96px;height:96px}dialog{border:1px solid var(--color-hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-2);padding:var(--space-lg);max-width:420px;color:var(--color-body)}dialog::backdrop{background:var(--color-overlay)}dialog h3{margin-bottom:var(--space-sm)}dialog .row{margin-top:var(--space-lg);justify-content:flex-end}.toast{bottom:var(--space-lg);padding:var(--space-xs) var(--space-md);background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-sm);position:fixed;left:50%;transform:translate(-50%)}.hero{isolation:isolate;background:var(--color-canvas);padding:var(--space-section) var(--space-lg);text-align:center;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.hero:before{background-image:var(--hero-mesh);opacity:.35;filter:blur(24px)}.hero:after{background:radial-gradient(60% 55% at 50% 50%, var(--color-canvas) 40%, transparent)}.hero .eyebrow{margin-bottom:var(--space-sm);font:var(--type-body-lg);display:block}.hero.plain:before,.hero.plain:after{content:none}.hero .display{max-width:720px;margin:0 auto var(--space-lg)}.hero p{max-width:560px;margin:0 auto var(--space-xl);font:var(--type-body-lg)}.footer{padding:var(--space-3xl) var(--space-lg);border-top:1px solid var(--color-hairline);text-align:center;color:var(--color-mute)}.footer a{color:inherit;text-decoration:underline}.login-menu{position:relative}.login-menu summary{cursor:pointer;align-items:center;list-style:none;display:inline-flex}.login-menu summary::-webkit-details-marker{display:none}.login-menu summary:hover{opacity:.85}.login-menu summary:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.login-pop{right:0;top:calc(100% + var(--space-xs));z-index:20;min-width:240px;padding:var(--space-sm);gap:var(--space-xs);box-shadow:var(--shadow-2);position:absolute}.login .btn,.login-pop .btn{justify-content:center;align-items:center;gap:var(--space-sm);display:inline-flex}.login .btn.pill{background:var(--color-canvas-elevated)}.login .btn.pill:hover:not(:disabled){background:var(--color-hairline-soft)}.login-pop .btn{height:var(--control-h-lg);width:100%}.avatar-btn{width:var(--control-h);height:var(--control-h);border-radius:var(--radius-full);background:var(--color-hairline-soft);border:1px solid var(--color-hairline);color:var(--color-ink);justify-content:center;font-weight:500;overflow:hidden}.avatar-btn img{object-fit:cover;width:100%;height:100%;display:block}.account-pop .btn{justify-content:flex-start;text-decoration:none}.account-email{text-overflow:ellipsis;white-space:nowrap;padding:0 var(--space-xxs);overflow:hidden}.consent{align-items:flex-start;gap:var(--space-xs);display:flex}.signup{max-width:560px}.consent a{text-decoration:underline}.login{gap:var(--space-sm);flex-wrap:wrap;justify-content:center;display:flex}.features .eyebrow{font:var(--type-body-sm)}.features{gap:var(--space-md);max-width:960px;margin:var(--space-3xl) auto;padding:0 var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.page{max-width:960px;padding:var(--space-lg);margin:0 auto}.page.wide{max-width:1280px}.cv-layout{gap:var(--space-lg);grid-template-columns:280px minmax(0,1fr);align-items:start;display:grid}.cv-order{top:var(--sticky-top);position:sticky}.cv-item{align-items:center;gap:var(--space-xxs);display:flex;position:relative}.cv-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.frame{border:1px solid var(--color-hairline);border-radius:var(--radius-md);background:var(--color-canvas-elevated);width:100%;height:75vh}@media (width>=641px) and (width<=1100px){.editor{grid-template-columns:200px minmax(0,1fr)}.editor>.assist{border-left:0;border-top:1px solid var(--color-hairline);max-height:none;padding-left:0;padding-top:var(--space-lg);grid-column:2;position:static;overflow:visible}}@media (width<=640px){.editor{padding:var(--space-md);grid-template-columns:1fr}.sidebar{display:none}.cv-layout{grid-template-columns:1fr}.cv-order{position:static}.assist{border-left:0;border-top:1px solid var(--color-hairline);max-height:none;padding-left:0;padding-top:var(--space-lg);position:static;overflow:visible}.nav{padding:var(--space-xs) var(--space-md)}.nav:not(.app-nav){flex-wrap:wrap}.page.preview,.page.cv-page{padding:var(--space-md) var(--space-3xs) var(--space-3xs)}.page.cv-page>.row{padding:0 var(--space-xs)}.page.preview>.title{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.page.preview .frame,.page.cv-page .frame{border-left:0;border-right:0;border-radius:0}.desktop-only{display:none}.app-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding-bottom:0;display:grid}.app-nav>nav.group{display:contents}.app-nav .logo{grid-area:1/1/2/3;align-self:center}.app-nav>.group:last-child{grid-area:1/3/2/5;justify-self:end}.app-nav .nav-link{margin-top:var(--space-xs);padding:var(--space-sm) 0;text-align:center;color:var(--color-mute);border-bottom:2px solid #0000;border-radius:0;grid-row:2}.app-nav .nav-link.active{color:var(--color-ink);border-bottom-color:var(--color-ink);background:0 0}.display{font-size:36px;line-height:40px}}@media (width>=641px){.mobile-only{display:none}}@media (width<=1100px){.wide-only{display:none}}@media (width>=1101px){.narrow-only{display:none}}
