html{scroll-behavior:auto;scroll-padding-top:130px}
.resume-page [hidden]{display:none!important}
.resume-page{min-height:100vh;display:flex;flex-direction:column}
.resume-page main{flex:1;width:100%;padding-bottom:80px}
.resume-page main:focus{outline:none}
.resume-page .resume-nav{height:auto;min-height:72px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.resume-page .nav-actions{flex-wrap:wrap}
.resume-page .tool-btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:13px;scroll-margin-top:130px}
.resume-page button:disabled{opacity:.45;cursor:not-allowed}
.resume-page a:hover{color:var(--gold)}
.resume-feedback{display:flex;align-items:center;gap:16px;min-height:58px;padding:14px 0;color:var(--ink-2);font-size:13px}
.resume-feedback p{overflow-wrap:anywhere}
.resume-feedback[data-tone="error"]{color:#e9a29a}
.resume-feedback[data-tone="success"]{color:var(--gold)}
.resume-notice{border-left:2px solid var(--gold);background:var(--gold-soft);padding:14px 18px;margin-bottom:18px;color:var(--ink);font-size:13px;overflow-wrap:anywhere}
.resume-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:64px;padding:54px 0 64px;border-bottom:1px solid var(--line)}
.resume-kicker{font-size:11px;letter-spacing:.26em;color:var(--gold);margin-bottom:26px}
.resume-name{font-size:clamp(42px,6vw,76px);line-height:1.2;font-weight:500;letter-spacing:.02em;overflow-wrap:anywhere}
.resume-profession{font-size:19px;color:var(--gold);margin-top:18px;white-space:pre-wrap;overflow-wrap:anywhere}
.resume-intro{max-width:670px;margin-top:28px;color:var(--ink-2);line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}
.resume-contact-card{align-self:end;padding:26px;background:var(--panel);border:1px solid var(--line)}
.resume-contact-card h2{font-size:18px;font-weight:500;margin-bottom:20px}
.resume-contact-list{display:grid;gap:17px}
.resume-contact-label{display:block;color:var(--ink-2);font-size:12px;margin-bottom:3px}
.resume-contact-value{overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px}
.resume-contact-value a{border-bottom:1px solid var(--line);padding-bottom:3px}
.resume-module{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px;padding:46px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}
.resume-module-heading{min-width:0}
.resume-number{display:block;color:var(--gold);font-size:11px;letter-spacing:.18em;margin-bottom:12px}
.resume-module-heading h2{font-size:27px;font-weight:500;overflow-wrap:anywhere}
.resume-module-heading p{font-size:13px;color:var(--ink-2);margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.resume-entries{list-style:none;display:grid;gap:32px;min-width:0}
.resume-entry{position:relative;padding-left:22px;border-left:1px solid var(--line);min-width:0}
.resume-entry::before{content:"";width:5px;height:5px;background:var(--gold);position:absolute;left:-3px;top:12px}
.resume-entry-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.resume-entry h3{font-size:18px;font-weight:500;overflow-wrap:anywhere;min-width:0}
.resume-period{font-size:12px;color:var(--gold);overflow-wrap:anywhere}
.resume-subtitle{font-size:14px;color:var(--ink-2);margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}
.resume-description{font-size:14px;color:var(--ink-2);margin-top:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.resume-entry-link{display:inline-block;margin-top:12px;color:var(--gold);font-size:13px;overflow-wrap:anywhere}
.resume-empty{color:var(--ink-2);font-size:14px;padding:16px 0}
.resume-page footer{margin-top:auto}
.resume-footer-dot{padding:0 12px;color:var(--gold)}
.resume-editor-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:12px 0 24px;flex-wrap:wrap}
.resume-editor-actions p{font-size:13px;color:var(--ink-2);max-width:680px}
.resume-edit-section{border:1px solid var(--line);background:var(--panel);padding:28px;margin:0 0 24px;min-width:0}
.resume-edit-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.resume-edit-heading h2{font-size:24px;font-weight:500}
.resume-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.resume-page .fm-row{min-width:0}
.resume-page .fm-row.wide{grid-column:1/-1}
.resume-page .fm-row input,.resume-page .fm-row textarea{min-height:44px}
.resume-page .fm-row textarea{min-height:110px;line-height:1.8}
.resume-page .fm-hint{color:var(--ink-2);letter-spacing:0}
.resume-edit-item{border:1px solid var(--line);padding:20px;margin:14px 0;background:var(--bg);min-width:0}
.resume-edit-item .resume-edit-item{background:var(--panel)}
.resume-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.resume-item-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.resume-item-head h3,.resume-item-head h4{font-size:15px;font-weight:500;color:var(--gold);overflow-wrap:anywhere}
.resume-drag-handle{cursor:grab!important;touch-action:none;user-select:none;-webkit-user-select:none}
.resume-drag-handle:active{cursor:grabbing!important}
.resume-drop-target{outline:2px dashed var(--gold);outline-offset:3px}
.resume-dragging{opacity:.5}
.resume-sorting,.resume-sorting *{cursor:grabbing!important;user-select:none!important;-webkit-user-select:none!important}
.resume-conflict{border:1px solid var(--gold);padding:24px;background:var(--panel);margin:0 0 24px;scroll-margin-top:120px}
.resume-conflict h2{font-size:23px;margin-bottom:12px}
.resume-conflict p{font-size:14px;color:var(--ink-2)}
.resume-conflict details{margin:16px 0}
.resume-conflict summary{cursor:pointer;color:var(--gold)}
.resume-conflict pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;border:1px solid var(--line);padding:16px;margin-top:12px;font-size:12px}
.resume-login{position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:460px;max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);padding:28px;background:var(--panel);color:var(--ink)}
.resume-login::backdrop{background:rgba(8,9,9,.88);backdrop-filter:blur(5px)}
.resume-login h2{font-size:25px;font-weight:500}
.resume-skip{position:fixed;top:8px;left:16px;z-index:100;background:var(--panel);padding:10px 16px;transform:translateY(-180%)}
.resume-skip:focus{transform:translateY(0)}
@media(max-width:800px){.resume-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding:28px 0 44px}.resume-contact-card{max-width:100%}.resume-contact-list{grid-template-columns:repeat(2,minmax(0,1fr))}.resume-module{grid-template-columns:minmax(0,1fr);gap:24px;padding:34px 0}.resume-number{margin-bottom:6px}.resume-module-heading h2{font-size:25px}}
@media(max-width:520px){.resume-page .resume-nav{gap:12px}.resume-page .nav-actions{width:100%;gap:7px}.resume-page .nav-actions .tool-btn{font-size:12px;padding:8px 10px}.resume-fields{grid-template-columns:minmax(0,1fr)}.resume-edit-section{padding:18px}.resume-edit-item{padding:14px}.resume-contact-list{grid-template-columns:minmax(0,1fr)}.resume-contact-card{padding:20px}.resume-item-head{align-items:flex-start}.resume-controls .tool-btn{padding:7px 10px}.resume-page main{padding-bottom:48px}.resume-login{padding:22px}.resume-feedback{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.resume-page{scroll-behavior:auto}}
