@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-in-out:cubic-bezier(.4,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-wrap{text-wrap:wrap}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}}@media print{*,:after,:before{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}:root{color-scheme:light!important}body,html{background:#fff!important;overflow:visible!important}.rv{opacity:1!important;visibility:visible!important;transform:none!important}#contact,#skills,.dock,.pd-back,.pd-back-top,.progress,.resume-dock,.scroll-cue,.section-index-nav,.slider-nav,.sns-fold,.swipe-hint,.toast,.topbar,footer{display:none!important}.section-base{max-width:none!important;padding:20px 0!important}.section-head{margin-bottom:14px!important}.hero{max-width:none!important;min-height:0!important;padding:0 0 4px!important}#about,#career,#projects{-moz-column-break-inside:avoid;break-inside:avoid}#career,#projects{-moz-column-break-before:page;break-before:page}.hero h1{margin-bottom:10px!important;font-size:30px!important;line-height:1.24!important}.hero .eyebrow{margin-bottom:8px!important}.hero-main{grid-template-columns:minmax(0,1fr) auto!important;gap:24px!important}.hero-avatar{order:0!important;width:110px!important}.hero .lead{width:100%!important;max-width:none!important;margin-bottom:12px!important;font-size:13.5px!important}.hero .meta-row{gap:14px!important;margin-top:10px!important}.hero .meta{white-space:nowrap!important}.hero .meta b{font-size:22px!important}h1,h2,h3{-moz-column-break-after:avoid;break-after:avoid}.about,.job,.pd-list li,.pd-shot-frame,.proj,h1,h2,h3{-moz-column-break-inside:avoid;break-inside:avoid}.about{border-radius:16px!important;padding:18px!important}.about .about-def{max-width:none!important;margin-bottom:16px!important;padding-bottom:14px!important;font-size:13.5px!important}.about h2{max-width:none!important;font-size:19px!important;line-height:1.35!important}.about li{letter-spacing:-.01em!important;font-size:14px!important;line-height:1.62!important}.about ul{gap:7px!important}.career-list{gap:10px!important}#career .section-head{margin-bottom:10px!important}#career .section-head h2{margin:0 0 4px!important;font-size:20px!important}#career .section-head p{font-size:11.5px!important;line-height:1.5!important}.job{box-shadow:none!important;border-radius:16px!important}.job .media{min-height:0!important;padding:12px 14px!important}.job .media .co{font-size:15px!important}.job .media .period{font-size:10.5px!important}.job .media .logo{box-shadow:none!important;margin-bottom:10px!important}.job .media .badge{-webkit-backdrop-filter:none!important;background:#ffffff47!important;padding:2px 7px!important;font-size:9.5px!important}.job .what{padding:12px 14px!important}.job .what h3{margin:0 0 3px!important;font-size:13px!important}.job .what p{margin:0 0 6px!important;font-size:11.5px!important;line-height:1.5!important}.job .tags span{padding:2px 7px!important;font-size:9.5px!important}#projects{-moz-column-break-inside:avoid;break-inside:avoid}.proj-grid{scroll-snap-type:none!important;border-top:1px solid var(--line)!important;padding:0!important;display:block!important}.proj,.proj-grid{overflow:visible!important}.proj{border:0!important;border-bottom:1px solid var(--line)!important;min-height:0!important;color:inherit!important;box-shadow:none!important;background:0 0!important;border-radius:0!important;flex-direction:row!important;flex:none!important;align-items:center!important;gap:12px!important;padding:9px 2px!important;display:flex!important;transform:none!important}.proj>div:first-child{flex-direction:column!important;flex:auto!important;min-width:0!important;display:flex!important}.proj h3{order:-1!important;margin:0!important;font-size:14.5px!important}.proj .p-kind{margin-top:1px!important;font-size:9.5px!important}.proj .p-desc{max-width:none!important;margin-top:3px!important;font-size:11.5px!important}.proj .p-stack{display:none!important}.proj .p-foot{flex:none!important;margin-top:0!important}.proj .arrow{background:0 0!important;border:0!important;border-radius:0!important;width:auto!important;height:auto!important;display:block!important}.pd{max-width:none!important;padding:8px 0!important}.pdf-page-break{-moz-column-break-inside:avoid;break-inside:avoid}.pd-hero{margin-bottom:8px!important;padding-bottom:0!important}.pd-hero h1{width:100%!important;max-width:none!important;margin:0 0 4px!important;font-size:24px!important;line-height:1.2!important}.pd-eyebrow{margin-bottom:6px!important;font-size:10px!important}.pd-period{font-size:11.5px!important}.pd-gallery{margin-bottom:8px!important;padding:8px 10px!important}.pd-block{margin:0!important;padding:4px 0!important;display:block!important}.pd-block .pd-h2{margin:0 0 3px!important;font-size:10.5px!important}.pd-intro{font-size:13.5px!important}.pd-intro,.pd-result{line-height:1.45!important}.pd-result,.pd-result-summary{font-size:12.5px!important}.pd-result-summary{margin:0 0 6px!important}.pd-list li{margin-bottom:2px!important;font-size:12px!important;line-height:1.45!important}.pd-list{gap:6px!important}.pd-list-problem li{border-radius:10px!important;padding:8px 12px 8px 34px!important}.pd-list-problem li:before{top:10px!important;left:12px!important}.pd-achievement{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;padding:12px 0!important}.pd-block:not(.pd-achievement)+.pd-achievement{padding-top:4px!important}.pd-role{max-width:none!important;margin:0 0 4px!important;font-size:12.5px!important}.pd-achievement-title{-moz-column-break-after:avoid;break-after:avoid;page-break-after:avoid;margin:0 0 5px!important;font-size:13.5px!important}.pd-achievement-rows{gap:5px!important}.pd-achievement-row dt{margin-bottom:1px!important;font-size:9.5px!important}.pd-achievement-row dd{max-width:none!important;font-size:11px!important;line-height:1.45!important}.pdf-achievement-marker{white-space:nowrap!important;color:#fff!important;pointer-events:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important;font-size:1px!important;line-height:1!important;position:absolute!important}.pd-block .tags{gap:5px!important}.pd-block .tags span{padding:3px 7px!important;font-size:10px!important}.pd-shots{gap:8px!important}.pd-shot-lead{grid-column:auto!important}.pd-shots figure:first-child:last-child{grid-column:1/-1!important;width:calc(50% - 4px)!important;margin-inline:auto!important}.pd-shot-frame{aspect-ratio:auto!important;height:168px!important;box-shadow:none!important;border-radius:10px!important}.pd-shot-image{width:auto!important;max-width:100%!important;height:100%!important}.pd-links{-moz-column-break-before:avoid;break-before:avoid;padding:4px 0 0!important;display:block!important}.pd-links .btn{color:var(--iris)!important;background:0 0!important;border:0!important;padding:1px 0!important;font-size:10.5px!important;display:block!important}.pd-links .btn:after{content:" — " attr(href);word-break:break-all;color:var(--muted)!important;font-weight:400!important}.btn{box-shadow:none!important;padding:10px 18px!important;font-size:12.5px!important;transform:none!important}.pdf-page-break{-moz-column-break-before:page;break-before:page}:lang(en) .pd{padding:6px 0!important}:lang(en) .pd-hero{margin-bottom:4px!important}:lang(en) .pd-hero h1{font-size:22px!important}:lang(en) .pd-gallery{margin-bottom:6px!important;padding:4px 8px!important}:lang(en) .pd-block{padding:2px 0!important}:lang(en) .pd-intro{font-size:12px!important;line-height:1.4!important}:lang(en) .pd-result{font-size:11.5px!important;line-height:1.4!important}:lang(en) .pd-list li{margin-bottom:1px!important;font-size:11px!important;line-height:1.3!important}:lang(en) .pd-shot-frame{height:106px!important}:lang(ja) .pd-block{padding:2px 0!important}:lang(ja) .pd-list li{line-height:1.35!important}:lang(ja) .pd-shot-frame{height:112px!important}.pdf-closing{-moz-column-break-before:page;break-before:page;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:984px;display:flex}.pdf-closing .thanks{letter-spacing:-.02em;margin:0;font-size:34px;font-weight:800}.pdf-closing .thanks-sub{letter-spacing:.04em;color:var(--muted);margin:8px 0 0;font-size:15px;font-weight:600}.pdf-closing .rule{background:var(--iris);border-radius:2px;width:48px;height:3px;margin:22px 0}.pdf-closing .note{color:var(--muted);margin:0;font-size:12.5px;line-height:1.7}.pdf-closing .note a{color:var(--iris);font-weight:700;text-decoration:none}}@font-face{font-family:Pretendard Variable;src:url(../fonts/PretendardVariable.woff2)format("woff2-variations");font-weight:45 920;font-display:swap}@font-face{font-family:Pretendard JP Variable;src:url(../fonts/PretendardJPVariable.woff2)format("woff2-variations");font-weight:45 920;font-display:swap}:lang(ja) body,body:lang(ja){font-family:Pretendard JP Variable,Pretendard Variable,sans-serif}:root{--iris:#605eec;--iris-soft:#8583ff;--paper:#fff;--tint:#f4f4fc;--tint-deep:#eaeaf8;--ink:#17171f;--muted:#6f6e85;--line:#e4e4f0;--glass-bg:#fff9;--glass-line:#ffffffbf;--glass-shadow:0 12px 40px #17171f2e;--card:#fff;--card-shadow:0 2px 8px #17171f0a,0 16px 48px #605eec14;--on-iris:#fff;--logo-bg:#fff}@media(prefers-color-scheme:dark){:root{--iris:#8583ff;--iris-soft:#605eec;--paper:#0e0e16;--tint:#16161f;--tint-deep:#1c1c29;--ink:#f2f2f8;--muted:#9a99b0;--line:#26263a;--glass-bg:#16162099;--glass-line:#ffffff24;--glass-shadow:0 12px 40px #00000080;--card:#16161f;--card-shadow:0 2px 8px #0000004d,0 16px 48px #605eec1f;--on-iris:#0e0e16;--logo-bg:#f2f2f8}}:root[data-theme=light]{--iris:#605eec;--iris-soft:#8583ff;--paper:#fff;--tint:#f4f4fc;--tint-deep:#eaeaf8;--ink:#17171f;--muted:#6f6e85;--line:#e4e4f0;--glass-bg:#fff9;--glass-line:#ffffffbf;--glass-shadow:0 12px 40px #17171f2e;--card:#fff;--card-shadow:0 2px 8px #17171f0a,0 16px 48px #605eec14;--on-iris:#fff;--logo-bg:#fff}:root[data-theme=dark]{--iris:#8583ff;--iris-soft:#605eec;--paper:#0e0e16;--tint:#16161f;--tint-deep:#1c1c29;--ink:#f2f2f8;--muted:#9a99b0;--line:#26263a;--glass-bg:#16162099;--glass-line:#ffffff24;--glass-shadow:0 12px 40px #00000080;--card:#16161f;--card-shadow:0 2px 8px #0000004d,0 16px 48px #605eec1f;--on-iris:#0e0e16;--logo-bg:#f2f2f8}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;line-height:1.6;transition:background .4s,color .4s;overflow-x:hidden}body:lang(ko){word-break:keep-all}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.pd *,.pd :after,.pd :before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pd .rv{opacity:1!important;transform:none!important}}.pill{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(1.6);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);border-radius:99px;padding:3px;display:flex}.pill a,.pill button{color:var(--muted);font:inherit;cursor:pointer;letter-spacing:.02em;background:0 0;border:0;border-radius:99px;padding:5px 12px;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,Segoe UI,sans-serif;font-size:12.5px;font-weight:700;text-decoration:none;display:inline-block}.pill a.on,.pill button.on{background:var(--iris);color:var(--on-iris)}.pill a:focus-visible,.pill button:focus-visible{outline:2px solid var(--iris);outline-offset:2px}@media(max-width:640px){.pill{padding:2px}.pill a,.pill button{padding:4px 8px;font-size:10.5px}}.section-base{max-width:1080px;margin:0 auto;padding:120px 24px}.section-head{margin-bottom:56px}.section-head .no{color:var(--iris);letter-spacing:.14em;font-size:13px;font-weight:700}.section-head h2{letter-spacing:-.03em;text-wrap:balance;margin:8px 0 0;font-size:clamp(28px,4.4vw,48px);font-weight:800}.section-head p{color:var(--muted);max-width:38em;margin:14px 0 0}.btn{font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:10px;padding:15px 30px;font-size:15px;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s;display:inline-flex}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--iris);color:var(--on-iris);box-shadow:0 10px 30px var(--iris);border:0}@supports (color:color-mix(in lab,red,red)){.btn-primary{box-shadow:0 10px 30px color-mix(in srgb,var(--iris) 35%,transparent)}}.btn-ghost{color:var(--ink);border:1.5px solid var(--line);background:0 0}.btn-ghost:hover{border-color:var(--iris)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.topbar[data-v-0f05cc5a]{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px 28px;transition:transform .45s cubic-bezier(.2,.7,.2,1),background .3s,box-shadow .3s}.topbar.hidden[data-v-0f05cc5a]{transform:translateY(-110%)}.topbar.scrolled[data-v-0f05cc5a]{background:var(--glass-bg);backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);box-shadow:0 1px 0 var(--line)}.brand[data-v-0f05cc5a]{font-weight:800;font-size:15px;letter-spacing:-.01em;text-decoration:none;color:var(--ink)}.brand em[data-v-0f05cc5a]{font-style:normal;color:var(--iris)}.controls[data-v-0f05cc5a]{display:flex;gap:8px;align-items:center}.menu-wrap[data-v-0f05cc5a]{position:relative}@media(min-width:1024px){.menu-wrap[data-v-0f05cc5a]{display:none}}@media(max-width:1023.98px){.controls[data-v-0f05cc5a]{display:none}}.ham[data-v-0f05cc5a]{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;border:1px solid var(--glass-line);background:var(--glass-bg);backdrop-filter:blur(16px) saturate(1.6);-webkit-backdrop-filter:blur(16px) saturate(1.6);box-shadow:var(--glass-shadow);color:var(--ink);cursor:pointer;transition:border-color .25s}.ham[data-v-0f05cc5a]:hover{border-color:var(--iris)}.ham[data-v-0f05cc5a]:focus-visible{outline:2px solid var(--iris);outline-offset:2px}.menu[data-v-0f05cc5a]{position:absolute;top:calc(100% + 10px);right:0;min-width:232px;padding:18px;border-radius:22px;background:var(--card);border:1px solid var(--line);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;gap:16px;animation:menu-pop-0f05cc5a .25s cubic-bezier(.2,1.2,.4,1)}@keyframes menu-pop-0f05cc5a{0%{transform:translateY(-6px);opacity:0}}@media(prefers-reduced-motion:reduce){.menu[data-v-0f05cc5a]{animation:none}}.m-group[data-v-0f05cc5a]{display:flex;flex-direction:column;gap:8px}.m-title[data-v-0f05cc5a]{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.m-sections ul[data-v-0f05cc5a]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.m-sec[data-v-0f05cc5a]{width:100%;text-align:left;font:inherit;font-size:14px;font-weight:700;color:var(--ink);background:transparent;border:0;border-radius:10px;padding:8px 10px;cursor:pointer;transition:background .2s,color .2s}.m-sec[data-v-0f05cc5a]:hover{background:color-mix(in srgb,var(--iris) 12%,transparent);color:var(--iris)}.m-sec[data-v-0f05cc5a]:focus-visible{outline:2px solid var(--iris);outline-offset:2px}@media(max-width:640px){.topbar[data-v-0f05cc5a]{padding:10px 12px}.brand[data-v-0f05cc5a]{font-size:12.5px}}.dock[data-v-654a582e]{position:fixed;bottom:26px;left:50%;z-index:55;display:flex;gap:6px;padding:10px;border-radius:28px;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow),inset 0 1px #ffffff40;transform:translate(-50%) scale(1);transform-origin:bottom center;transition:transform .5s cubic-bezier(.34,1.3,.5,1),opacity .4s ease,bottom .5s cubic-bezier(.34,1.3,.5,1)}.dock.mini[data-v-654a582e]{transform:translate(-50%) scale(.62);bottom:14px;opacity:.75}.dock.mini[data-v-654a582e]:hover{transform:translate(-50%) scale(1);opacity:1;bottom:26px}.dock button[data-v-654a582e]{width:52px;height:52px;border-radius:20px;border:0;cursor:pointer;display:grid;place-items:center;background:transparent;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .3s}.dock button[data-v-654a582e]:hover{transform:translateY(-8px) scale(1.12);background:color-mix(in srgb,var(--iris) 12%,transparent)}.dock button[data-v-654a582e]:focus-visible{outline:2px solid var(--iris);outline-offset:2px}.dock svg[data-v-654a582e]{width:26px;height:26px}@media(min-width:641px){.dock[data-v-654a582e]{display:none}}.resume-dock[data-v-68219711]{position:fixed;bottom:26px;left:50%;z-index:55;display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:99px;font-weight:700;font-size:15px;color:var(--ink);text-decoration:none;background:var(--glass-bg);backdrop-filter:blur(24px) saturate(1.8);-webkit-backdrop-filter:blur(24px) saturate(1.8);border:1px solid var(--glass-line);box-shadow:var(--glass-shadow),inset 0 1px #ffffff40;transform:translate(-50%) scale(1);transform-origin:bottom center;transition:transform .5s cubic-bezier(.34,1.3,.5,1),opacity .4s ease,bottom .5s cubic-bezier(.34,1.3,.5,1),border-color .3s}.resume-dock[data-v-68219711]:hover{border-color:var(--iris);transform:translate(-50%) translateY(-3px)}.resume-dock[data-v-68219711]:focus-visible{outline:2px solid var(--iris);outline-offset:2px}.resume-dock svg[data-v-68219711]{width:18px;height:18px;color:var(--iris)}.resume-dock.mini[data-v-68219711]{transform:translate(-50%) scale(.78);bottom:14px;opacity:.75}.resume-dock.mini[data-v-68219711]:hover{transform:translate(-50%) scale(1);opacity:1;bottom:26px}@media(max-width:640px){.resume-dock[data-v-68219711]{display:none}}.modal-wrap[data-v-e698d193]{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:20px}.modal-bg[data-v-e698d193]{position:absolute;inset:0;background:#0e0e1673;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal[data-v-e698d193]{position:relative;background:var(--card);border:1px solid var(--line);border-radius:32px;padding:32px 28px;width:min(360px,calc(100vw - 40px));margin:auto;text-align:center;box-shadow:0 32px 80px #00000059;max-height:calc(100svh - 40px);overflow-y:auto;animation:pop-e698d193 .35s cubic-bezier(.2,1.4,.4,1)}@keyframes pop-e698d193{0%{transform:scale(.9) translateY(16px);opacity:0}}@media(prefers-reduced-motion:reduce){.modal[data-v-e698d193]{animation:none}}.modal h3[data-v-e698d193]{margin:0 0 4px;font-size:20px;font-weight:800;letter-spacing:-.02em}.modal .svc[data-v-e698d193]{font-size:13px;color:var(--muted);margin:0 0 22px}.qr-holder[data-v-e698d193]{width:216px;height:216px;margin:0 auto;border-radius:24px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;padding:10px;overflow:hidden}.qr-holder img[data-v-e698d193]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.qr-acts[data-v-e698d193]{display:flex;justify-content:center;gap:8px;margin:14px 0 0}.modal .dl-qr[data-v-e698d193],.modal .go-qr[data-v-e698d193]{display:inline-block;font:inherit;font-size:12px;font-weight:700;text-decoration:none;border-radius:9px;padding:7px 14px;cursor:pointer}.modal .go-qr[data-v-e698d193]{border:0;background:var(--iris);color:var(--on-iris)}.modal .dl-qr[data-v-e698d193]{border:1.5px solid var(--line);background:transparent;color:var(--ink);transition:border-color .25s}.modal .dl-qr[data-v-e698d193]:hover{border-color:var(--iris)}.modal .idrow[data-v-e698d193]{margin:20px 0 0;display:flex;align-items:center;gap:8px;background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13px;color:var(--muted)}.modal .idrow b[data-v-e698d193]{color:var(--ink);font-weight:700;flex:1;text-align:left}.modal .link[data-v-e698d193]{margin:20px 0 0;display:flex;align-items:center;gap:8px;background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:12.5px;color:var(--muted)}.modal .link span[data-v-e698d193]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}.modal .copy[data-v-e698d193]{flex:none;border:0;background:var(--iris);color:var(--on-iris);font:inherit;font-size:12px;font-weight:700;border-radius:9px;padding:7px 12px;cursor:pointer}.modal .close[data-v-e698d193]{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:99px;border:0;cursor:pointer;background:var(--tint);color:var(--muted);font-size:16px;line-height:1}.toast[data-v-1c006993]{position:fixed;bottom:104px;left:50%;transform:translate(-50%) translateY(20px);z-index:80;background:var(--ink);color:var(--paper);font-size:13px;font-weight:600;border-radius:99px;padding:10px 20px;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}.toast.show[data-v-1c006993]{opacity:1;transform:translate(-50%) translateY(0)}.progress[data-v-50a56d98]{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--iris),var(--iris-soft));z-index:60}.err[data-v-6d9bfc1c]{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:2rem 1.5rem;text-align:center}.err[data-v-6d9bfc1c]:before{content:"";position:absolute;left:50%;top:calc(50% - 8rem);width:min(20rem,70vw);aspect-ratio:1;transform:translate(-50%);background:radial-gradient(circle,var(--iris) 0,transparent 70%);opacity:.13;filter:blur(28px);pointer-events:none;z-index:-1}.code[data-v-6d9bfc1c]{margin:0;font-size:clamp(4.5rem,20vw,9rem);font-weight:800;line-height:1;letter-spacing:-.045em;background:linear-gradient(135deg,var(--iris),var(--iris-soft));-webkit-background-clip:text;background-clip:text;color:transparent}h1[data-v-6d9bfc1c]{margin:1.25rem 0 0;font-size:clamp(1.25rem,4.5vw,1.75rem);font-weight:700;letter-spacing:-.015em}.desc[data-v-6d9bfc1c]{margin:.75rem auto 0;max-width:28rem;font-size:clamp(.9375rem,2.6vw,1rem);color:var(--muted)}.actions[data-v-6d9bfc1c]{margin-top:2rem;display:flex;flex-wrap:wrap;gap:.625rem}.actions[data-v-6d9bfc1c],.btn[data-v-6d9bfc1c]{justify-content:center}.btn[data-v-6d9bfc1c]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;min-height:2.875rem;padding:0 1.5rem;border-radius:999px;border:1px solid transparent;font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.btn-primary[data-v-6d9bfc1c]{background:var(--iris);color:var(--on-iris);box-shadow:0 8px 24px #605eec47}.btn-secondary[data-v-6d9bfc1c]{background:var(--tint);color:var(--ink);border-color:var(--line)}.btn[data-v-6d9bfc1c]:hover{transform:translateY(-2px)}.btn[data-v-6d9bfc1c]:focus-visible{outline:2px solid var(--iris);outline-offset:3px}footer[data-v-6d9bfc1c]{margin-top:2.5rem;font-size:.8125rem}.brand[data-v-6d9bfc1c]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;font:inherit;color:var(--muted);cursor:pointer;border-bottom:1px solid var(--line)}.brand[data-v-6d9bfc1c]:hover{color:var(--iris);border-bottom-color:var(--iris)}@media(max-width:380px){.err[data-v-6d9bfc1c]{padding:1.5rem 1rem}.actions[data-v-6d9bfc1c]{flex-direction:column;align-items:stretch}.btn[data-v-6d9bfc1c]{width:100%}}@media(max-height:480px)and (orientation:landscape){.code[data-v-6d9bfc1c]{font-size:clamp(3rem,13vh,4.5rem)}h1[data-v-6d9bfc1c]{margin-top:.75rem}.desc[data-v-6d9bfc1c]{margin-top:.5rem}.actions[data-v-6d9bfc1c],footer[data-v-6d9bfc1c]{margin-top:1.25rem}.err[data-v-6d9bfc1c]:before{display:none}}@media(forced-colors:active){.code[data-v-6d9bfc1c]{background:none;color:CanvasText;-webkit-text-fill-color:CanvasText}}@media(prefers-reduced-motion:reduce){.btn[data-v-6d9bfc1c]{transition:none}.btn[data-v-6d9bfc1c]:hover{transform:none}}
