.resume-builder-page{min-height:100vh;background:var(--resume-bg);color:var(--resume-text)}.resume-noscript{max-width:48rem;margin:0 auto;padding:1.5rem}.resume-noscript-content{background:var(--resume-card-bg);border:1px solid var(--resume-border);border-radius:var(--resume-radius-xl);padding:1.5rem}.resume-noscript-content h2{font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.resume-noscript-content p{color:var(--resume-text-muted)}.resume-app-header{background:var(--resume-card-bg);border-bottom:1px solid var(--resume-border);position:sticky;top:0;z-index:50;box-shadow:var(--resume-shadow)}.resume-header-inner{max-width:80rem;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.resume-header-left{display:flex;align-items:center;gap:.75rem;min-width:0}.resume-header-icon{background:var(--resume-accent);padding:.5rem;border-radius:var(--resume-radius);flex-shrink:0}.resume-icon-svg{width:1.5rem;height:1.5rem;color:#fff}.resume-header-text{min-width:0}.resume-header-title{font-size:1.25rem;font-weight:700;color:var(--resume-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.resume-header-subtitle{font-size:.75rem;color:var(--resume-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:.25rem 0 0}.resume-header-score{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--resume-accent-soft);border-radius:var(--resume-radius);border:1px solid var(--resume-accent);flex-shrink:0}@media(min-width:640px){.resume-header-score{gap:.75rem;padding:.5rem 1rem}}.resume-score-label{font-size:.75rem;color:var(--resume-text-muted);display:none}@media(min-width:640px){.resume-score-label{display:block}}.resume-score-value{font-size:1.125rem;font-weight:700;color:var(--resume-accent)}.resume-stepper{background:var(--resume-card-bg);border-bottom:1px solid var(--resume-border)}.resume-stepper-inner{max-width:80rem;margin:0 auto;padding:.75rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.resume-steps{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;flex:1;min-width:0}.resume-step-btn{display:flex;align-items:center;gap:.75rem;background:0 0;border:none;cursor:pointer;padding:0}.resume-step-circle{width:2.5rem;height:2.5rem;border-radius:50%;border:2px solid var(--resume-border);background:var(--resume-card-bg);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--resume-text-light);transition:all .2s ease}.resume-step-circle.active{background:var(--resume-accent-soft);border-color:var(--resume-accent);color:var(--resume-accent)}.resume-step-circle.completed{background:var(--resume-ok-soft);border-color:var(--resume-ok);color:var(--resume-ok)}.resume-step-text{display:none;text-align:left}@media(min-width:640px){.resume-step-text{display:block}}.resume-step-title{font-size:.875rem;font-weight:600;color:var(--resume-text-light)}.resume-step-title.active{color:var(--resume-accent)}.resume-step-title.completed{color:var(--resume-ok)}.resume-step-desc{font-size:.75rem;color:var(--resume-text-light)}.resume-step-line{flex:1;height:3px;background:var(--resume-border);border-radius:9999px}.resume-step-line.completed{background:var(--resume-ok)}@media(max-width:900px){.resume-stepper-inner{flex-direction:column;align-items:stretch}.resume-steps{width:100%;overflow-x:auto;padding-bottom:.25rem}.resume-step-btn{flex-shrink:0}.resume-header-score{width:100%;justify-content:center}}.resume-main{max-width:80rem;margin:0 auto;padding:2rem 1.5rem}.resume-stepper-inner,.resume-steps,.resume-main,.resume-card,.resume-two-col,.resume-two-col-review,.resume-col-stack,.resume-section-item,.resume-preview-container,.resume-preview-wrapper{min-width:0;max-width:100%}.resume-app-footer{background:var(--resume-card-bg);border-top:1px solid var(--resume-border);margin-top:3rem}.resume-footer-inner{max-width:80rem;margin:0 auto;padding:1.5rem}.resume-footer-text{text-align:center;font-size:.875rem;color:var(--resume-text-muted)}.resume-footer-text p{margin:.25rem 0}.resume-footer-tip{font-size:.75rem}.resume-footer-bold{font-weight:600}.resume-card{background:var(--resume-card-bg);border-radius:var(--resume-radius-xl);box-shadow:var(--resume-shadow-lg);border:1px solid var(--resume-border);padding:1.5rem}@media(min-width:640px){.resume-card{padding:2rem}}.resume-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.resume-card-title{font-size:1.5rem;font-weight:700;color:var(--resume-text);margin:0}.resume-card-desc{color:var(--resume-text-muted);margin:.25rem 0 0}.resume-card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.resume-preset-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.resume-btn-sm{padding:.5rem .75rem;font-size:.8rem}.resume-form-group{margin-bottom:1rem}.resume-label{display:block;font-size:.875rem;font-weight:600;color:var(--resume-text);margin-bottom:.5rem}.resume-label-hint{font-size:.75rem;color:var(--resume-text-muted);font-weight:400;margin-top:.25rem}.resume-input,.resume-textarea,.resume-select{width:100%;padding:.75rem 1rem;border:1px solid var(--resume-input-border);border-radius:var(--resume-radius);background:var(--resume-input-bg);color:var(--resume-text);font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease}.resume-input:focus,.resume-textarea:focus,.resume-select:focus{outline:none;border-color:var(--resume-accent);box-shadow:0 0 0 3px var(--resume-accent-soft)}.resume-input.error,.resume-textarea.error{border-color:var(--resume-bad);background:var(--resume-bad-soft)}.resume-input.error:focus,.resume-textarea.error:focus{border-color:var(--resume-bad);box-shadow:0 0 0 3px var(--resume-bad-soft)}.resume-input.valid,.resume-textarea.valid{border-color:var(--resume-ok)}.resume-input.valid:focus,.resume-textarea.valid:focus{border-color:var(--resume-ok);box-shadow:0 0 0 3px var(--resume-ok-soft)}.resume-error-msg{font-size:.75rem;color:var(--resume-bad);margin-top:.25rem;display:none}.resume-error-msg.visible{display:block}.resume-label .required{color:var(--resume-bad);margin-left:.25rem}.resume-input::placeholder,.resume-textarea::placeholder{color:var(--resume-text-light)}.resume-textarea{resize:vertical;min-height:100px}.resume-textarea.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace;font-size:.875rem}.resume-form-row{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.resume-form-row{grid-template-columns:repeat(2,1fr)}}.resume-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--resume-radius);padding:.75rem 1rem;font-weight:600;font-size:.95rem;border:1px solid transparent;cursor:pointer;transition:transform .05s ease,background-color .15s ease,border-color .15s ease;user-select:none;text-decoration:none}.resume-btn:active{transform:translateY(1px)}.resume-btn-primary{background:var(--resume-accent);color:#fff}.resume-btn-primary:hover{background:var(--resume-accent-hover)}.resume-btn-secondary{background:var(--resume-border);color:var(--resume-text)}.resume-btn-secondary:hover{background:var(--resume-border-light)}.dark .resume-btn-secondary{background:var(--resume-border)}.dark .resume-btn-secondary:hover{background:#3d444d}.resume-btn-ghost{background:0 0;border-color:var(--resume-border);color:var(--resume-text)}.resume-btn-ghost:hover{background:var(--resume-border-light)}.resume-btn-danger{background:var(--resume-bad-soft);color:var(--resume-bad)}.resume-btn-danger:hover{background:#fecaca}.dark .resume-btn-danger:hover{background:rgba(239,68,68,.25)}.resume-btn-green{background:var(--resume-ok);color:#fff;width:100%}.resume-btn-green:hover{background:#15803d}.resume-btn-row{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}@media(min-width:640px){.resume-btn-row{flex-direction:row}.resume-btn-row .resume-btn{flex:1}}.resume-templates-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}@media(min-width:640px){.resume-templates-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.resume-templates-grid{grid-template-columns:repeat(3,1fr)}}.resume-template-card{background:var(--resume-card-bg);border:2px solid var(--resume-border);border-radius:var(--resume-radius-lg);padding:1.25rem;cursor:pointer;transition:all .15s ease}.resume-template-card:hover{border-color:var(--resume-accent);box-shadow:0 10px 30px var(--resume-accent-soft);transform:translateY(-2px)}.resume-template-card.selected{border-color:var(--resume-accent);box-shadow:0 0 0 4px var(--resume-accent-soft)}.resume-template-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.resume-template-icon{background:var(--resume-accent-soft);border:1px solid var(--resume-accent);padding:.5rem .75rem;border-radius:var(--resume-radius);font-size:1.5rem;flex-shrink:0}.resume-template-info{min-width:0}.resume-template-title{font-size:1.125rem;font-weight:700;color:var(--resume-text);margin:0}.resume-template-desc{font-size:.875rem;color:var(--resume-text-muted);margin:.25rem 0 0;line-height:1.5}.resume-template-chips{display:flex;flex-wrap:wrap;gap:.5rem}.resume-chip{display:inline-flex;align-items:center;border-radius:9999px;padding:.25rem .6rem;font-size:.75rem;border:1px solid var(--resume-border);background:var(--resume-card-bg);color:var(--resume-text-muted)}.resume-chip.ok{background:var(--resume-ok-soft);border-color:var(--resume-ok);color:var(--resume-ok)}.resume-chip.bad{background:var(--resume-bad-soft);border-color:var(--resume-bad);color:var(--resume-bad)}.resume-chip.warn{background:var(--resume-warn-soft);border-color:var(--resume-warn);color:var(--resume-warn)}.resume-section-list{display:flex;flex-direction:column;gap:.75rem}.resume-section-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;background:var(--resume-border-light);border-radius:var(--resume-radius);border:1px solid var(--resume-border)}.resume-section-item-info{min-width:0}.resume-section-item-title{font-weight:600;color:var(--resume-text)}.resume-section-item-meta{font-size:.875rem;color:var(--resume-text-muted)}.resume-preview-container{background:var(--resume-card-bg);border-radius:var(--resume-radius-xl);box-shadow:var(--resume-shadow-lg);border:1px solid var(--resume-border);padding:1.25rem;position:sticky;top:6rem}.resume-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.resume-preview-title{font-size:1.125rem;font-weight:700;margin:0}.resume-preview-subtitle{font-size:.75rem;color:var(--resume-text-muted);margin:.25rem 0 0}.resume-preview-actions{display:flex;gap:.5rem}.resume-preview-zoom{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;border-radius:var(--resume-radius);border:1px solid var(--resume-border);background:var(--resume-border-light);margin-bottom:1rem}.resume-preview-zoom-label{font-size:.875rem;font-weight:600}.resume-preview-zoom-value{font-size:.75rem;color:var(--resume-text-muted)}.resume-preview-zoom input[type=range]{flex:1}.resume-preview-wrapper{border-radius:var(--resume-radius-xl);border:1px solid var(--resume-border);background:var(--resume-border-light);padding:.75rem;overflow:auto;max-height:calc(100vh - 15rem)}.resume-preview-tip{font-size:.75rem;color:var(--resume-text-muted);margin-top:1rem}.resume-two-col{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1024px){.resume-two-col{grid-template-columns:1fr 1fr}}.resume-col-stack{display:flex;flex-direction:column;gap:1.5rem}.resume-centered{text-align:center;margin-bottom:2.5rem}.resume-centered-title{font-size:1.875rem;font-weight:700;color:var(--resume-text);margin:0}.resume-centered-desc{color:var(--resume-text-muted);margin:.5rem 0 0}.resume-centered-actions{display:flex;flex-direction:column;gap:.75rem;justify-content:center;margin-top:1rem}@media(min-width:640px){.resume-centered-actions{flex-direction:row}}.resume-tip-box{max-width:42rem;margin:2.5rem auto 0;background:var(--resume-card-bg);border:1px solid var(--resume-border);border-radius:var(--resume-radius-xl);padding:1.25rem}.resume-tip-text{font-size:.875rem;color:var(--resume-text)}.resume-fade-in{animation:resumeFadeIn .22s ease-out}@keyframes resumeFadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;background:var(--resume-border);border-radius:9999px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--resume-accent);border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--resume-accent);border-radius:50%;cursor:pointer;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.2)}input[type=color]{-webkit-appearance:none;appearance:none;width:40px;height:40px;border:none;border-radius:var(--resume-radius);cursor:pointer;padding:0;overflow:hidden}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:2px solid var(--resume-border);border-radius:var(--resume-radius)}.resume-select{width:100%;padding:.75rem 1rem;border:1px solid var(--resume-input-border);border-radius:var(--resume-radius);background:var(--resume-input-bg);color:var(--resume-text);font-size:.875rem;cursor:pointer;transition:border-color .15s ease}.resume-select:focus{outline:none;border-color:var(--resume-accent)}.resume-section-divider{padding-top:1rem;margin-top:1rem;border-top:1px solid var(--resume-border)}.resume-subsection-title{font-size:.875rem;font-weight:700;color:var(--resume-text);margin:0 0 .5rem}.resume-color-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:.5rem}@media(max-width:640px){.resume-color-grid{grid-template-columns:1fr}}.resume-color-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem;background:var(--resume-card-bg);border:1px solid var(--resume-border);border-radius:var(--resume-radius)}.resume-color-label{font-size:.875rem;font-weight:600;color:var(--resume-text)}.resume-color-hint{font-size:.75rem;color:var(--resume-text-muted)}.resume-disabled{opacity:.5;pointer-events:none}.resume-avoid-break{break-inside:avoid;page-break-inside:avoid}.resume-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,liberation mono,courier new,monospace}@page{size:A4 portrait;margin:0}@media print{.no-print,.resume-stepper,.resume-app-footer{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}}[data-paper-stage=true]{--scale:1;zoom:var(--scale);transform-origin:top center}@supports not (zoom:1){[data-paper-stage=true]{zoom:1;transform:scale(var(--scale))}}[data-paper-sheet=true]{display:block}.resume-section-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;background:var(--resume-card-bg);border:1px solid var(--resume-border);border-radius:var(--resume-radius);cursor:grab}.resume-section-toggle:active{cursor:grabbing}.resume-section-toggle-left{display:flex;align-items:center;gap:.75rem}.resume-section-toggle-handle{color:var(--resume-text-light);cursor:grab}.resume-section-toggle-name{font-weight:600}.resume-section-toggle-right{display:flex;align-items:center;gap:.5rem}.resume-section-toggle.selected{border-color:var(--resume-accent);box-shadow:0 0 0 3px var(--resume-accent-soft)}.resume-two-col-review{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:1024px){.resume-two-col-review{grid-template-columns:2fr 1fr}}.resume-improvements{list-style:none;padding:0;margin:1rem 0 0}.resume-improvements li{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--resume-border-light);font-size:.875rem;color:var(--resume-text-muted)}.resume-improvements li:last-child{border-bottom:none}.resume-improvements li::before{content:"•";color:var(--resume-accent);font-weight:700}.resume-score-circle{width:120px;height:120px;border-radius:50%;background:var(--resume-accent-soft);border:4px solid var(--resume-accent);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.resume-score-circle-value{font-size:2rem;font-weight:700;color:var(--resume-accent)}.resume-keyword-match{background:var(--resume-border-light);border:1px solid var(--resume-border);border-radius:var(--resume-radius);padding:1rem;margin-top:1rem}.resume-keyword-title{font-weight:600;margin-bottom:.5rem}.resume-keyword-chips{display:flex;flex-wrap:wrap;gap:.5rem}.resume-step-wrapper{display:contents}.resume-btn-row-centered{max-width:400px;margin:2rem auto}.resume-card-narrow{max-width:600px;margin:0 auto}.resume-card-medium{max-width:700px;margin:0 auto}.resume-color-input-row{display:flex;align-items:center;gap:.75rem}.resume-color-value{font-size:.875rem;color:var(--resume-text-muted)}.resume-preset-gap{margin-bottom:1.5rem}.resume-hint-gap{margin-bottom:.75rem}.resume-btn-row-top{margin-top:2rem}.resume-score-circle-spaced{margin:2rem auto}.resume-preview-center{width:100%;display:flex;justify-content:center;padding:8px 0}@media(max-width:640px){.resume-stepper-inner{padding:.75rem 1rem}.resume-main{padding:1rem}.resume-inline-row{flex-direction:column;align-items:stretch!important}.resume-inline-row .resume-btn{width:100%}.resume-entry-item{flex-direction:column;align-items:stretch!important}.resume-inline-grid-2,.resume-inline-grid-edu{grid-template-columns:1fr!important}.resume-year-input{width:100%!important}.resume-preview-header,.resume-preview-actions{flex-wrap:wrap}.resume-preview-actions .resume-btn{width:100%}}