@page{size:A4;margin:0}@font-face{font-family:"Source Serif 4 Resume Text";src:url(../fonts/source-serif-4-text-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Source Serif 4 Resume Text";src:url(../fonts/source-serif-4-text-semibold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:"Source Serif 4 Resume Text";src:url(../fonts/source-serif-4-text-italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:"Source Serif 4 Resume Title";src:url(../fonts/source-serif-4-title-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Source Serif 4 Resume Display";src:url(../fonts/source-serif-4-display-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:block}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{background:var(--bg-obsidian);width:100%;height:100%;color:var(--text-obsidian);overflow:hidden}body{font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-kerning:normal}button,select{color:inherit;background:0 0;border:none;font-family:inherit}img{max-width:100%;display:block}::selection{color:var(--ink-1000);background:var(--accent-bright)}.app{background:var(--bg-canvas);width:100vw;height:100vh;display:flex}.aside{width:var(--rail-width);min-width:280px;max-width:368px;height:100%;padding:var(--rail-pad);scrollbar-color:var(--ink-700) transparent;scrollbar-width:thin;background:linear-gradient(180deg, #ffffff05, transparent 34%), var(--bg-obsidian);z-index:10;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden auto;transform:none}.aside:before{content:"";z-index:-1;pointer-events:none;opacity:.18;background-image:linear-gradient(#ffffff1a 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:100% 42px,42px 100%;position:absolute;inset:0;mask-image:linear-gradient(#000,#0000 52%)}.aside.l{border-right:1px solid var(--border-obsidian)}.aside.r{border-left:1px solid var(--border-obsidian);overscroll-behavior:contain}.stage{background:radial-gradient(circle at 50% 42%, #54d8c60b, transparent 34%), linear-gradient(145deg, var(--stage-obsidian), #080b0b 58%, var(--ink-1000));padding:var(--stage-pad) var(--stage-pad-right) var(--stage-pad) var(--stage-pad);flex:1;justify-content:safe center;align-items:safe center;display:flex;position:relative;overflow:auto}.stage.is-zoomed{cursor:grab}.stage.is-zoomed:active{cursor:grabbing}.resume-loading{z-index:2;color:var(--muted-obsidian);letter-spacing:.12em;text-transform:uppercase;font-size:11px;transition:opacity .2s;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}html[data-resume-ready=true] .resume-loading{opacity:0;pointer-events:none}.wrap{transition:opacity .3s var(--ease-out-expo);z-index:1;filter:drop-shadow(0 38px 72px #000000bd);flex:none;width:0;height:0;position:relative;overflow:visible}.wrap:focus{outline:none}.wrap:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px}.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}.sheet{background:var(--paper);width:210mm;height:297mm;color:var(--paper-ink);padding:var(--margin-top) var(--margin-x) var(--margin-bottom) var(--margin-x);font-family:var(--font-resume-text);font-size:var(--s0);line-height:var(--u);box-sizing:border-box;text-rendering:optimizelegibility;font-optical-sizing:none;font-synthesis:none;font-variant-ligatures:common-ligatures;font-variant-numeric:oldstyle-nums proportional-nums;text-align:left;widows:2;orphans:2;hyphens:none;transform-origin:0 0;backface-visibility:hidden;isolation:isolate;flex-direction:column;display:flex;position:relative;overflow:visible}.sheet.is-master-cv{height:auto;min-height:297mm}.micro-updated{transform-origin:0;white-space:inherit;--micro-steps:12;transition:opacity .22s var(--ease-interactive), transform .22s var(--ease-interactive), filter .22s var(--ease-interactive), color .22s var(--ease-interactive);position:relative}.micro-updated.micro-update-from{opacity:.55;filter:blur(.5px);color:var(--accent-cyan);transform:translateY(2px)}.r-sec-body{display:block}.r-name{font-family:var(--font-resume-display);font-size:var(--s2);line-height:calc(var(--u) * 2);letter-spacing:var(--track-display);text-align:left;font-weight:var(--weight-regular);text-wrap:balance;text-box-trim:trim-both;text-box-edge:cap alphabetic;margin-bottom:0}@supports not (text-box-trim:trim-both){.r-name{margin-top:calc(-1 * var(--cap-offset-s2))}}.r-ctc{min-height:var(--u);font-size:var(--s0);line-height:var(--u);color:#555;font-variant-numeric:tabular-nums lining-nums;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:0;margin-bottom:0;display:flex}.r-ctc span{white-space:nowrap}.r-ctc span.sep{color:#777;margin:0;font-weight:400}.sheet a{color:inherit}.ctc-link{color:inherit;text-decoration:none}body.highlight-links .sheet a{color:var(--link-highlight);text-underline-offset:.12em;text-decoration:underline .7pt}.print-link-label{display:none}.ctc-part{max-width:100%}.r-name-inner,.ctc-part>a,.r-co,.r-date,.edu-degree,.info-copy,.field-val,.ctc-copy{display:inline-block}.r-lbl{min-height:var(--u);padding-bottom:var(--micro-gap);border-bottom:.5pt solid var(--rule-color);font-size:var(--s0);font-weight:var(--weight-regular);font-feature-settings:"smcp" 1, "case" 1;font-variant-caps:small-caps;line-height:var(--u);letter-spacing:var(--track-label);margin-bottom:var(--micro-gap);text-box-trim:trim-both;text-box-edge:cap alphabetic}.r-sec{break-inside:avoid;margin-top:var(--u);border-top:0;padding-top:0}.r-sec:empty{display:none}.r-prose{font-variant-numeric:oldstyle-nums proportional-nums;text-align:left;text-wrap:pretty;hyphens:none}.r-item-hdr{grid-template-columns:minmax(0, calc(100% - var(--date-reserved-width) - var(--col-gutter))) var(--date-reserved-width);min-height:var(--u);align-items:baseline;gap:var(--col-gutter);display:grid}.r-co{font-weight:var(--weight-emphasis);font-size:var(--s0);min-width:0;line-height:var(--u);white-space:normal;overflow-wrap:normal}.r-date{font-variant-numeric:tabular-nums lining-nums;font-size:var(--s0);line-height:var(--u);color:#666;min-width:var(--date-reserved-width);white-space:nowrap;text-align:right}.r-role{font-family:var(--font-resume-title);font-size:var(--s1);font-style:normal;font-weight:var(--weight-regular);min-height:var(--u);line-height:var(--u);margin-bottom:0}.r-role+.r-ul{margin-top:var(--micro-gap)}.r-ul{margin:0;padding:0 0 0 1.15em;list-style:outside}.r-ul li{line-height:var(--u);text-wrap:pretty;text-box-trim:trim-both;text-box-edge:cap alphabetic;margin-left:0;padding-left:.18em}.r-ul li+li{margin-top:var(--micro-gap)}.r-ul li::marker{color:#555;font-size:.82em}.exp-block,.proj-block,.edu-block{break-inside:avoid;margin-bottom:var(--u)}.exp-block:last-child,.proj-block:last-child,.edu-block:last-child,.proj-desc{margin-bottom:0}.proj-desc+.r-ul,.proj-block .r-item-hdr+.r-ul{margin-top:var(--micro-gap)}.edu-school-row{grid-template-columns:minmax(0, 1fr) var(--date-reserved-width);align-items:baseline;gap:var(--col-gutter);min-height:var(--u);display:grid}.edu-school-main{min-width:0;line-height:var(--u)}.edu-institution{color:inherit;font-weight:var(--weight-emphasis);text-decoration:none}a.edu-institution{text-underline-offset:.08em;text-decoration:underline .5pt}.edu-location,.edu-location-separator{font-weight:var(--weight-regular)}.edu-date{font-style:italic}.edu-details{margin-left:var(--u)}.edu-degree-line,.edu-fact{line-height:var(--u);text-wrap:pretty}.edu-degree{font-weight:var(--weight-emphasis);text-underline-offset:.08em;text-decoration:underline .5pt}.edu-school{font-weight:var(--weight-emphasis)}.edu-fact{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;column-gap:.25em;display:grid}.edu-fact-label{font-style:italic}.edu-score-line .edu-fact-label,.edu-score{font-weight:var(--weight-emphasis)}body.master-preview{background:#d8dcda;height:auto;min-height:100%;overflow:auto}body.master-preview .app,body.master-preview .stage{width:100%;height:auto;min-height:100%;display:block}body.master-preview .stage{padding:24px 0;overflow:visible}body.master-preview .wrap{min-height:297mm;margin:0 auto;width:210mm!important;height:auto!important}body.master-preview .sheet{width:210mm;height:auto;min-height:297mm;overflow:visible;transform:none!important}body.master-cv-active .r-sec{break-inside:auto}.rail-heading{margin-bottom:var(--space-10);width:100%}.rail-title{width:100%;color:var(--text-primary);font-family:var(--font-resume-display);letter-spacing:var(--tracking-display-ui);font-size:clamp(1.5rem,1.1rem + 1.1vw,1.875rem);font-weight:400;line-height:1.12}.rail-title em{color:var(--accent-bright);font-weight:400}.rail-kicker-label{width:100%;margin-top:var(--space-3);color:var(--text-tertiary);font-size:var(--text-2xs);letter-spacing:.16em;text-transform:uppercase;font-weight:700;line-height:1.4}.rail-intro{width:100%;margin-top:var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);text-align:justify;text-justify:inter-word;hyphens:auto;line-height:1.55}.brand-lockup{align-items:center;gap:var(--space-3);width:100%;margin-bottom:var(--space-10);color:inherit;text-decoration:none;display:flex}.brand-mark-link{border-radius:50%;flex:none;line-height:0}.brand-mark{width:56px;height:56px;box-shadow:inset 0 0 0 1px var(--border-subtle), var(--shadow-control);object-fit:cover;outline:1px solid var(--image-outline);outline-offset:-1px;transition:transform var(--duration-base) var(--ease-emphasized), box-shadow var(--duration-base) var(--ease-standard);background:#ffffff08;border-radius:50%;flex:none;overflow:hidden}.brand-mark-link:hover .brand-mark,.brand-lockup:hover .brand-mark{box-shadow:var(--shadow-border-hover), 0 16px 34px #00000047;transform:translateY(-1px)}.brand-copy{flex:auto;min-width:0}.brand-title{width:100%;font-size:var(--text-sm);letter-spacing:0;color:var(--text-obsidian);text-align:justify;text-justify:inter-word;overflow-wrap:anywhere;font-weight:680;line-height:1.3}.mobile-brand{z-index:25;display:none;position:absolute;top:16px;left:16px;right:16px}.mobile-brand .brand-lockup{border-radius:var(--radius-sm);box-shadow:var(--shadow-border);backdrop-filter:blur(16px);background:#0d0d0dc7;margin-bottom:0;padding:12px 14px}.mobile-brand .brand-title{font-size:13px}.mobile-brand .brand-lbl{letter-spacing:.18em;font-size:9px}.sec-title{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--text-tertiary);align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-weight:750;display:flex}.rail-footer{padding-top:var(--space-6);border-top:1px solid var(--border-subtle);margin-top:auto}.card{background:var(--bg-surface-raised);border-radius:var(--radius-md);box-shadow:var(--shadow-border), 0 10px 28px #0000001f;padding:var(--card-inset);margin-bottom:var(--space-6);border:0}.field{margin-bottom:var(--space-2)}.field:last-child{margin-bottom:0}.field-label{margin:0 0 var(--space-2) var(--space-1);color:var(--text-tertiary);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;font-weight:700;display:block}.field-control{width:100%;min-height:var(--control-min-height);font:inherit;text-align:left;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--control-inset-y) var(--control-inset-x);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--border-subtle);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-interactive), box-shadow var(--duration-fast) var(--ease-interactive), color var(--duration-fast) var(--ease-interactive), transform var(--duration-fast) var(--ease-interactive);background:#ffffff09;border:0;display:flex}.field-control:hover{box-shadow:inset 0 0 0 1px var(--border-strong);background:#ffffff0f}.field-control[aria-expanded=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.field-control:active{transform:scale(.96)}.field-val{min-width:0;font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.field-control i{isolation:isolate;width:var(--icon-btn-size-sm);height:var(--icon-btn-size-sm);background:var(--icon-btn-surface-rest);font-size:var(--icon-glyph-size-sm);color:var(--muted-dark);transition:color var(--duration-fast) var(--ease-interactive), box-shadow var(--duration-fast) var(--ease-interactive), background-color var(--duration-fast) var(--ease-interactive), transform var(--duration-fast) var(--ease-interactive);border-radius:50%;flex:none;place-items:center;line-height:1;display:grid;position:relative}.field-control i:after{content:"";background:var(--icon-btn-radial);opacity:0;transition:opacity var(--duration-fast) var(--ease-interactive), transform var(--duration-fast) var(--ease-interactive);pointer-events:none;z-index:-1;border-radius:50%;position:absolute;inset:0;transform:scale(.9)}.field-control:hover i,.field-control[aria-expanded=true] i{color:var(--accent-cyan);background:var(--icon-btn-hover-surface);box-shadow:var(--icon-btn-hover-glow)}.field-control:hover i:after,.field-control[aria-expanded=true] i:after{opacity:1;transform:scale(1)}.field-control[aria-expanded=true] i{transform:rotate(180deg)}.btn-secondary{width:100%;padding:var(--btn-pad-y) var(--btn-pad-x);background:var(--bg-surface);border-radius:var(--radius-sm);box-shadow:var(--shadow-border);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted-obsidian);cursor:pointer;transform-origin:50%;transition:background-color .2s var(--ease-interactive), box-shadow .2s var(--ease-interactive), color .2s var(--ease-interactive), transform .2s var(--ease-interactive);border:0;font-weight:700}.btn-random{justify-content:space-between;align-items:center;gap:var(--space-3);text-align:left;display:flex}.button-arrow{color:var(--accent);transition:transform var(--duration-base) var(--ease-emphasized);font-size:15px;line-height:1}.btn-random:hover .button-arrow{transform:translate(2px,-2px)}.btn-secondary:hover{color:var(--text-obsidian);box-shadow:var(--shadow-border-hover);background:#ffffff08}.btn-secondary:active{transform:scale(.96)}.dl-btn{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding-block:var(--btn-pad-y);padding-inline:var(--btn-pad-x);background:var(--text-primary);color:var(--bg-obsidian);border-radius:var(--radius-sm);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;box-shadow:0 1px 2px #0000004d, 0 10px 28px color-mix(in srgb, var(--accent) 18%, transparent);transition:background-color .2s var(--ease-interactive), color .2s var(--ease-interactive), transform .2s var(--ease-interactive), box-shadow .2s var(--ease-interactive);margin-bottom:var(--space-4);font-weight:800;text-decoration:none;display:flex}.dl-btn:hover{background:var(--ink-100);box-shadow:0 2px 4px #00000057, 0 12px 30px color-mix(in srgb, var(--accent) 26%, transparent);transform:translateY(-2px)}.dl-btn:active{box-shadow:0 1px 2px #00000042, 0 4px 14px color-mix(in srgb, var(--accent) 14%, transparent);transform:scale(.96)}.dl-btn i{width:var(--icon-btn-size-sm);height:var(--icon-btn-size-sm);font-size:var(--icon-glyph-size);flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.status-txt{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.13em;color:var(--text-tertiary);font-weight:700}.zoom-ctrl{background:var(--bg-surface);border-radius:var(--radius-pill);box-shadow:var(--shadow-border), var(--shadow-control);padding:var(--zoom-pad);justify-content:center;align-items:center;gap:var(--space-1);margin-bottom:var(--space-4);border:0;flex-flow:wrap;display:flex}.zoom-btn,.mobile-menu-trigger,.mobile-menu-close,.mtx-pop-close{isolation:isolate;width:var(--icon-btn-size);height:var(--icon-btn-size);min-width:var(--icon-btn-size);min-height:var(--icon-btn-size);color:var(--text-tertiary);background:var(--icon-btn-surface);cursor:pointer;transition:color var(--duration-fast) var(--ease-interactive), background-color var(--duration-fast) var(--ease-interactive), box-shadow var(--duration-fast) var(--ease-interactive), transform var(--duration-fast) var(--ease-interactive);border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.zoom-btn:before,.mobile-menu-trigger:before,.mobile-menu-close:before,.mtx-pop-close:before{content:"";background:var(--icon-btn-radial);opacity:0;transition:opacity var(--duration-fast) var(--ease-interactive), transform var(--duration-fast) var(--ease-interactive);pointer-events:none;z-index:0;border-radius:50%;position:absolute;inset:0;transform:scale(.9)}.zoom-btn:hover,.mobile-menu-trigger:hover,.mobile-menu-close:hover,.mtx-pop-close:hover{color:var(--text-primary);background:var(--icon-btn-hover-surface);box-shadow:var(--icon-btn-hover-glow)}.zoom-btn:hover:before,.mobile-menu-trigger:hover:before,.mobile-menu-close:hover:before,.mtx-pop-close:hover:before{opacity:1;transform:scale(1)}.zoom-btn:active,.mobile-menu-trigger:active,.mobile-menu-close:active,.mtx-pop-close:active{box-shadow:var(--icon-btn-pressed-glow);transform:scale(.96)}.zoom-btn:disabled{opacity:.28;cursor:not-allowed;box-shadow:none;transform:none}.zoom-btn:disabled:before{opacity:0}.zoom-sep{width:1px;height:var(--space-4);margin:0 var(--space-2);background:#ffffff14;flex:none}.zoom-field{min-width:4.5rem;margin-inline:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--border-subtle);background:#ffffff0a;align-items:center;display:inline-flex}.zoom-input{width:2.6rem;min-width:0;padding:var(--space-2) 0;color:var(--text-primary);font:inherit;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;font-weight:700;line-height:1}.zoom-input:focus{outline:none}.zoom-field:focus-within{box-shadow:inset 0 0 0 1px var(--accent-line)}.zoom-suffix{color:var(--text-tertiary);font-size:var(--text-xs);font-weight:700}.tool-toggles{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.tool-toggle{width:100%;min-height:var(--control-min-height);padding:var(--control-inset-y) var(--control-inset-x);justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--border-subtle);color:var(--text-primary);font-size:var(--text-xs);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-interactive), box-shadow var(--duration-fast) var(--ease-interactive), color var(--duration-fast) var(--ease-interactive);background:#ffffff09;border:0;font-weight:650;display:flex}.tool-toggle:hover{box-shadow:inset 0 0 0 1px var(--border-strong);background:#ffffff0f}.tool-toggle[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.tool-toggle-state{color:var(--text-tertiary);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;flex:none;font-weight:700}.tool-toggle[aria-pressed=true] .tool-toggle-state{color:var(--accent-bright)}.ti{z-index:1;width:1em;height:1em;font-size:var(--icon-glyph-size);text-align:center;flex-shrink:0;justify-content:center;align-items:center;font-style:normal;line-height:1;display:inline-flex;position:relative}.ti-zoom-in:before{content:"+";transform:translateY(-.04em)}.ti-zoom-out:before{content:"−";transform:translateY(-.04em)}.ti-maximize:before{content:"⤢";font-size:.92em}.ti-chevron-down:before{content:"⌄";transform:translateY(-.06em)}.ti-eye-off:before{content:"◐";font-size:.94em}.ti-eye:before{content:"●";font-size:.72em}.ti-download:before{content:"↓";transform:translateY(.04em)}.icon-swap{flex:none;width:1em;height:1em;position:relative}.icon-swap>.ti{opacity:1;filter:blur();transition:opacity .3s var(--ease-out-expo), transform .3s var(--ease-out-expo), filter .3s var(--ease-out-expo);position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)scale(1)}.icon-swap>.icon-swap-on,.icon-swap[aria-pressed=true]>.icon-swap-off{opacity:0;filter:blur(4px);transform:translate(-50%,-50%)scale(.25)}.icon-swap[aria-pressed=true]>.icon-swap-on{opacity:1;filter:blur();transform:translate(-50%,-50%)scale(1)}.brand-mark-link:focus-visible,.brand-lockup:focus-visible,.field-control:focus-visible,.btn-secondary:focus-visible,.dl-btn:focus-visible,.zoom-btn:focus-visible,.tool-toggle:focus-visible,.zoom-input:focus-visible,.leave-dialog-confirm:focus-visible,.mtx-opt:focus-visible,.mtx-pop-close:focus-visible,.mobile-menu-trigger:focus-visible,.mobile-menu-close:focus-visible,.mobile-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}#r-additional p{grid-template-columns:max-content minmax(0,1fr);align-items:baseline;column-gap:.25em;display:grid}#r-additional p+p{margin-top:var(--micro-gap)}#r-additional b{white-space:nowrap}.mt-auto{margin-top:auto}.action-stack{gap:var(--stack-gap);margin-top:var(--space-4);flex-direction:column;display:flex}.action-stack a{text-align:center;text-decoration:none}.microcopy{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-4);font-weight:500;line-height:1.5}.download-status{color:var(--muted-obsidian);font-size:11px;line-height:1.45}.toast-host{z-index:220;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:none;justify-content:center;width:min(92vw,360px);display:flex;position:fixed;transform:translate(-50%)}.site-toast{border-radius:var(--radius-md);background:var(--bg-surface-raised);max-width:100%;color:var(--text-primary);box-shadow:var(--shadow-border), var(--shadow-floating);font-size:var(--text-sm);text-align:center;opacity:0;transition:opacity .22s var(--ease-interactive), transform .22s var(--ease-interactive);padding:12px 16px;line-height:1.4;transform:translateY(8px)}.site-toast.on{opacity:1;transform:translateY(0)}.leave-dialog-scrim{z-index:230;backdrop-filter:blur(8px);background:#0000009e;position:fixed;inset:0}.leave-dialog{z-index:240;width:min(92vw,28rem);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--bg-surface-raised);color:var(--text-primary);box-shadow:var(--shadow-border), var(--shadow-floating);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.leave-dialog h2{font-family:var(--font-resume-title);font-size:var(--text-lg);margin-bottom:var(--space-3);font-weight:400;line-height:1.25}.leave-dialog p{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-6);line-height:1.5}.leave-dialog-actions{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.leave-dialog-confirm{justify-content:center;margin-bottom:0}.listening-panel{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-obsidian)}.listening-title{margin-bottom:var(--space-3);color:var(--text-tertiary);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:750}.listening-card{padding:var(--card-inset);border-radius:var(--radius-md);background:var(--bg-surface-raised);box-shadow:var(--shadow-border);min-width:0}.spotify-embed-shell{border-radius:var(--radius-sm);background:#181818;width:100%;min-width:0;max-width:100%;overflow:hidden}.spotify-embed-shell,.spotify-embed-shell[data-embed-mode=standard],.spotify-embed-shell[data-embed-mode=compact],.spotify-embed-shell--compact{--spotify-embed-height:80px}.spotify-embed{width:100%;max-width:100%;height:var(--spotify-embed-height,80px);min-height:var(--spotify-embed-height,80px);border-radius:inherit;background:#181818;border:0;display:block;overflow:hidden}.listening-link-out{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--icon-btn-size);margin:0 var(--space-2) var(--space-1);padding:var(--space-2) var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);transition:background-color .2s var(--ease-interactive), color .2s var(--ease-interactive);font-size:11px;font-weight:600;text-decoration:none;display:flex}.listening-link-out:active{color:var(--text-primary);background:#ffffff0a}.listening-panel--mobile{border:0;margin:0 0 20px;padding:0;display:none}.listening-copy{padding:var(--space-3) var(--space-2) var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);line-height:1.55}.listening-details{margin:0 var(--space-2) var(--space-1);padding-top:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);border-top:1px solid #ffffff12;line-height:1.55}.listening-details summary{justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--text-primary);font-size:var(--text-2xs);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;font-weight:750;list-style:none;display:flex}.listening-details summary::-webkit-details-marker{display:none}.listening-details summary:after{content:"+";color:var(--accent);font-size:14px;font-weight:500}.listening-details[open] summary:after{content:"−"}.listening-details p{padding-top:var(--space-2)}.listening-details summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:var(--radius-xs)}body.redact-mode .sensitive{user-select:none;border-radius:2px;display:inline-block;color:#0000!important;background-color:#111!important}body.redact-mode .sensitive a{pointer-events:none;color:#0000!important;text-decoration:none!important}.mobile-nav,.mobile-menu,.mobile-menu-scrim{display:none;transform:none}.mobile-menu-trigger,.mobile-menu-close{color:var(--text-obsidian);background:var(--icon-btn-surface-rest);box-shadow:var(--shadow-border)}.hamburger-lines{z-index:1;width:18px;height:14px;position:relative}.hamburger-lines span{width:16px;height:1.5px;transition:transform .22s var(--ease-interactive), top .22s var(--ease-interactive);background:currentColor;border-radius:99px;position:absolute;left:1px}.hamburger-lines span:first-child{top:4px}.hamburger-lines span:last-child{top:10px}body.mobile-menu-open .hamburger-lines span:first-child{top:7px;transform:rotate(45deg)}body.mobile-menu-open .hamburger-lines span:last-child{top:7px;transform:rotate(-45deg)}.mobile-menu-head{border-bottom:1px solid var(--border-obsidian);justify-content:space-between;align-items:center;gap:20px;padding:22px 22px 18px;display:flex}.mobile-menu-head h2,.mtx-pop-head h2{color:var(--text-obsidian);letter-spacing:0;font-size:18px;font-weight:650;line-height:1.2}.mobile-menu-body{overscroll-behavior:contain;flex-direction:column;flex:auto;min-height:0;padding:18px;display:flex;overflow-y:auto}.mobile-menu-copy{color:var(--muted-obsidian);margin:-18px 4px 20px;font-size:11px;line-height:1.5}.mobile-actions{border-radius:var(--radius-lg);background:var(--bg-surface-raised);box-shadow:var(--shadow-border);margin-top:auto;overflow:hidden}.mobile-action{width:100%;min-height:var(--control-min-height);padding:var(--btn-pad-y) var(--btn-pad-x);justify-content:space-between;align-items:center;gap:var(--space-4);color:var(--text-obsidian);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-interactive), color var(--duration-fast) var(--ease-interactive), transform var(--duration-fast) var(--ease-interactive);background:0 0;font-size:13px;font-weight:560;text-decoration:none;display:flex}.mobile-action:hover{background:var(--icon-btn-hover-surface);color:var(--text-primary)}.mobile-action+.mobile-action{border-top:1px solid var(--border-obsidian)}.mobile-action:active{transform:scale(.96)}.mobile-action-state{color:var(--muted-obsidian);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}body.redact-mode #btnRedactMobile .mobile-action-state{color:var(--accent-cyan)}@media (width>=1024px) and (width<=1279px){.aside{width:var(--rail-width-compact);min-width:232px;padding:var(--rail-pad-compact)}.aside.r{width:208px;min-width:208px}.stage{--stage-pad:24px;--stage-pad-right:60px}.brand-lockup{margin-bottom:var(--space-10)}.brand-mark{border-radius:50%;width:48px;height:48px}.rail-heading{margin-bottom:var(--space-8)}.rail-title{font-size:1.45rem}.card{padding:var(--card-inset)}.aside.r .zoom-ctrl{gap:var(--space-1);width:100%;padding:var(--zoom-pad);border-radius:var(--radius-md);grid-template-columns:repeat(3,1fr);display:grid}.aside.r .zoom-field{grid-column:1/-1;justify-content:center;min-width:0}.aside.r .zoom-sep{display:none}}@media (width<=1023px){html,body{overscroll-behavior:none;overflow:hidden}.app{width:100vw;height:100dvh;display:block}.aside{display:none}.stage{width:100vw;height:100dvh;min-height:0;padding:calc(74px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;justify-content:safe center;align-items:flex-start;display:flex}.wrap{filter:drop-shadow(0 16px 28px #00000073)}.mobile-nav{z-index:160;height:calc(64px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 12px 10px;backdrop-filter:blur(18px);background:linear-gradient(#0b0e0efa,#0b0e0ee0);border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:0 0 auto}.mobile-nav-main{flex:1;min-width:0}.mobile-profile-label{color:var(--text-tertiary);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0 50px;font-weight:700;line-height:1.3;overflow:hidden}.mobile-nav .brand-lockup{gap:10px;min-width:0;margin:0}.mobile-nav .brand-mark{border-radius:50%;width:40px;height:40px}.mobile-nav .brand-title{font-size:var(--text-sm);margin-bottom:0}.mobile-menu-scrim{z-index:140;opacity:0;pointer-events:none;backdrop-filter:blur(2px);transition:opacity .22s var(--ease-interactive);background:#00000094;display:block;position:fixed;inset:0}.mobile-menu-scrim.on{opacity:1;pointer-events:auto}.mobile-menu{inset:calc(72px + env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom)) auto;z-index:150;width:min(420px,100vw - 16px);min-height:0;color:var(--text-obsidian);border-radius:var(--radius-xl);box-shadow:var(--shadow-border), 0 24px 80px #00000094;opacity:0;pointer-events:none;transition:opacity .22s var(--ease-interactive), transform .22s var(--ease-interactive);background:#121212fa;flex-direction:column;display:flex;position:fixed;transform:translate(calc(100% + 24px))}.mobile-menu.on{opacity:1;pointer-events:auto;transform:translate(0)}.mobile-matrix{border-radius:var(--radius-md);grid-template-columns:1fr;gap:8px;margin-bottom:28px;padding:8px;display:grid}.mobile-matrix .field{margin:0}.mobile-matrix .field-label{margin:0 0 5px 4px;font-size:8px}.mobile-matrix .field-control{border-radius:var(--radius-sm);min-height:58px;box-shadow:var(--shadow-border);background:#ffffff0b;border:0;padding:10px 14px}.mobile-matrix .field-val{max-width:calc(100% - 28px);color:var(--text-obsidian);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}body.mobile-menu-open .stage{pointer-events:none}body.mobile-menu-open .mobile-nav{pointer-events:auto}.listening-panel--mobile{flex:none;display:block}.listening-panel--mobile .listening-title{margin-bottom:10px}.listening-panel--mobile .listening-card{padding:10px}.listening-panel--mobile .listening-copy{padding:12px 4px 8px;font-size:11px;line-height:1.5}.listening-panel--mobile .listening-link-out{margin:0;padding:12px 8px;font-size:12px}}@media (width<=430px){.stage{padding-inline:8px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.mobile-menu{inset:calc(70px + env(safe-area-inset-top)) 6px max(6px, env(safe-area-inset-bottom));border-radius:var(--radius-xl);width:calc(100vw - 12px)}.mobile-menu-head{padding:18px 18px 16px}.mobile-menu-body{padding:14px}.listening-panel--mobile .listening-copy{font-size:var(--text-xs)}}@media (width>=1280px){.brand-mark{width:60px;height:60px}}@media (width>=1536px){.brand-mark{width:68px;height:68px}.brand-title{font-size:15px}}.mtx-backdrop{z-index:190;opacity:0;pointer-events:none;transition:opacity .2s var(--ease-interactive);background:0 0;position:fixed;inset:0}.mtx-pop{background:color-mix(in srgb, var(--bg-surface-raised) 94%, black);border-radius:var(--radius-lg);max-height:min(70vh,560px);box-shadow:var(--shadow-border), 0 1px 2px #0000006b, 0 18px 56px #0000008f;z-index:200;opacity:0;transform-origin:top;pointer-events:none;min-width:280px;transition:opacity .2s var(--ease-interactive), transform .2s var(--ease-interactive);border:0;flex-direction:column;display:flex;position:fixed;overflow:hidden;transform:translateY(-3px)scale(.985)}.mtx-pop.on{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.mtx-pop-head{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 18px 14px;display:flex}.mtx-pop-head h2{font-size:15px}.mtx-pop-title-block{min-width:0}.mtx-pop-meta{min-width:0;color:var(--muted-obsidian);align-items:center;gap:8px;margin-top:8px;font-size:9px;line-height:1.25;display:flex}.mtx-pop-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mtx-pop-count{color:var(--text-tertiary);background:#ffffff0e;border-radius:99px;flex:none;padding:3px 6px}.mtx-pop-close{color:var(--muted-obsidian);background:var(--icon-btn-surface-rest);font-size:20px;line-height:1}.mtx-search{min-height:44px;color:var(--muted-obsidian);box-shadow:var(--shadow-border);background:#ffffff0b;border-radius:10px;flex:none;align-items:center;gap:9px;margin:0 12px 10px;padding:0 12px;display:flex}.mtx-search:focus-within{color:var(--accent-cyan);box-shadow:inset 0 0 0 1px var(--focus-ring)}.mtx-search input{width:100%;min-width:0;color:var(--text-obsidian);font:inherit;background:0 0;border:0;outline:0;font-size:13px}.mtx-search input::placeholder{color:var(--muted-dark)}.mtx-search input::-webkit-search-cancel-button{filter:invert();opacity:.45}.mtx-options{min-height:0;padding:var(--space-1) var(--space-2) var(--space-2);overscroll-behavior:contain;scrollbar-color:var(--muted-dark) transparent;scrollbar-width:thin;overflow-y:auto}.mtx-opt{width:100%;min-height:var(--control-min-height);padding:var(--btn-pad-y-dense) 36px var(--btn-pad-y-dense) var(--btn-pad-x-dense);color:var(--text-obsidian);font:inherit;text-align:left;cursor:pointer;transform-origin:0;transition:background-color .2s var(--ease-interactive), color .2s var(--ease-interactive), transform .2s var(--ease-interactive);background:0 0;border:0;border-radius:10px;align-items:center;font-size:13px;line-height:1.35;display:flex;position:relative}.mtx-opt:before{content:"";background:0 0;border-radius:99px;width:2px;position:absolute;inset:9px auto 9px 0}.mtx-opt-copy{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mtx-opt:hover{color:var(--text-obsidian);background:#ffffff0e}.mtx-opt:active{transform:scale(.96)}.mtx-opt.sel{color:var(--accent-cyan);background:var(--accent-soft);font-weight:650}.mtx-opt.sel:before{background:var(--accent-cyan)}.mtx-opt.sel:after{content:"✓";background:var(--accent-soft);color:currentColor;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;display:grid;position:absolute;right:12px}.mtx-empty{color:var(--muted-obsidian);text-align:center;padding:30px 16px;font-size:12px}@media (width<=1023px){.mtx-backdrop{backdrop-filter:blur(2px);background:#000000a3}.mtx-backdrop.on{opacity:1;pointer-events:auto}.mtx-pop{border-radius:var(--radius-xl);transform-origin:bottom;box-shadow:var(--shadow-border), 0 24px 80px #0000009e;transform:translateY(calc(100% + 24px))scale(.985);inset:auto 8px max(8px, env(safe-area-inset-bottom))!important;width:auto!important;max-height:min(78dvh,680px)!important}.mtx-pop.on{transform:translateY(0)scale(1)}.mtx-pop-head{padding:18px 18px 14px}.mtx-pop-head h2{font-size:19px}.mtx-search{border-radius:12px;min-height:48px;margin:0 12px 10px;padding-inline:14px}.mtx-search input{font-size:16px}.mtx-options{padding:4px 8px 12px}.mtx-opt{min-height:var(--control-min-height);padding:var(--btn-pad-y) 42px var(--btn-pad-y) var(--btn-pad-x);border-radius:12px;font-size:15px}}@media (prefers-reduced-motion:reduce){.status-pulse{animation:none}.wrap,.micro-updated,.field-control,.field-control i,.field-control i:after,.btn-secondary,.dl-btn,.zoom-btn,.zoom-btn:before,.mobile-menu-trigger,.mobile-menu-trigger:before,.mobile-menu-close,.mobile-menu-close:before,.hamburger-lines span,.mobile-menu,.mobile-menu-scrim,.mobile-action,.tool-toggle,.icon-swap>.ti,.mtx-backdrop,.mtx-pop,.mtx-pop-close,.mtx-pop-close:before,.mtx-opt{transition-duration:.001ms!important}.micro-updated{transition:none!important}}html[data-motion=reduced] .wrap,html[data-motion=reduced] .micro-updated,html[data-motion=reduced] .field-control,html[data-motion=reduced] .btn-secondary,html[data-motion=reduced] .dl-btn,html[data-motion=reduced] .zoom-btn,html[data-motion=reduced] .mobile-menu,html[data-motion=reduced] .mobile-menu-scrim,html[data-motion=reduced] .mobile-action,html[data-motion=reduced] .tool-toggle,html[data-motion=reduced] .mtx-pop,html[data-motion=reduced] .mtx-opt{transition-duration:.001ms!important}@media print{html,body{background:#fff;width:210mm;height:297mm;overflow:visible}.aside,.mobile-nav,.mobile-menu,.mobile-menu-scrim,.mtx-pop,.mtx-backdrop,.leave-dialog,.leave-dialog-scrim,.toast-host{display:none!important}.app,.stage{background:#fff;width:210mm;height:297mm;min-height:0;margin:0;padding:0;display:block;overflow:visible}.wrap{filter:none;margin:0;overflow:visible;width:210mm!important;height:297mm!important}.sheet{transform-origin:0 0;width:210mm;height:297mm;overflow:visible;transform:none!important}body.master-cv-active,body.master-cv-active .app,body.master-cv-active .stage,body.master-cv-active .wrap,body.master-cv-active .sheet{min-height:297mm;height:auto!important}.micro-updated{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.edu-institution{text-underline-offset:.08em;text-decoration:underline .5pt}.resume-loading,.sr-only{display:none!important}.screen-link-label{display:none}.print-link-label{display:inline}a{color:inherit;text-decoration:none}}