/* One layout rhythm for every resume step. */
.form-card-head{gap:20px;margin-bottom:28px}
.form-card-head>div{min-width:0}
.form-card-head h2{margin:0}
.form-card-head p{margin:9px 0 0;max-width:48ch}
.step-index{flex:none;white-space:nowrap;padding-top:5px}
.resume-fields{display:grid;gap:24px}
.resume-fields .field{margin:0;min-width:0}
.resume-fields .fields-row{gap:16px;align-items:start}
.resume-fields .field label,.resume-fields .field-label{display:block;margin:0 0 9px;font-size:13px;font-weight:600;line-height:1.5;color:var(--text)}
.resume-fields .field input,.resume-fields .field select,.resume-fields .field textarea{display:block;width:100%;min-height:48px;padding:12px 14px;font-size:14px;line-height:1.55}
.resume-fields .field select{padding-right:44px}
.resume-fields .field textarea{min-height:92px;resize:vertical}
.resume-fields .input-icon-wrap input{padding-left:42px}
.resume-fields .hint{margin:8px 0 0;font-size:12px;line-height:1.65;color:var(--muted)}
.resume-fields .optional{margin-left:5px;color:var(--muted);font-size:11px;font-weight:400}
.resume-fields .selected-entity{margin:8px 0 0;font-size:12px;line-height:1.6}
.resume-fields .selected-entity:empty{display:none}
.resume-fields .selected-entity:not(:empty)+.search-help{display:none}
.resume-fields .arena-search-confirm{min-height:40px;margin:4px 0 0;font-size:12px}
.resume-fields .empty-entry{margin:0;padding:28px 20px}
.resume-fields .empty-entry h3{font-size:17px;margin:12px 0 8px}
.resume-fields .empty-entry p{font-size:13px;line-height:1.7;max-width:38ch;margin:0 auto;color:var(--muted)}
.resume-fields .add-entry{margin:0;min-height:48px;background:transparent;border-color:#ffffff26;color:var(--text-soft)}
.resume-fields .add-entry:hover{border-color:#3de8c677;background:#3de8c609;color:var(--text)}
.entry-add-block>.hint{margin-top:10px}
.resume-fields>.education-add-hint{margin-top:-14px!important}
.resume-fields>.undo-removal{margin:0}
.undo-removal>.btn{flex:none;white-space:nowrap}
.education-editor{display:grid;gap:20px}
.education-editor[hidden]{display:none}
.education-done{margin-top:0}
.education-record-tools .btn{min-height:44px}
.record-list{display:grid;gap:0}
.record-list>.record-entry{min-width:0;margin:0;padding:22px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.record-list>.record-entry:first-child{padding-top:0}
.record-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.record-toggle{display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:48px;border:0;padding:0;background:transparent;color:var(--text);text-align:left;font:inherit}
.record-number{align-self:flex-start;padding-top:4px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.record-title{display:flex;flex:1;min-width:0;flex-direction:column;gap:5px}
.record-title strong{font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.record-title>span{font-size:12px;line-height:1.65;color:var(--muted);overflow-wrap:anywhere}
.record-toggle-label{display:flex;align-items:center;gap:5px;flex:none;font-size:12px;color:var(--muted)}
.record-toggle-label .icon{width:13px;height:13px;transform:rotate(90deg)}
.record-entry.is-editing .record-toggle-label .icon{transform:rotate(-90deg)}
.record-head>.btn{min-height:44px;min-width:44px;padding:8px}
.record-editor{display:grid;gap:22px;padding-top:22px;margin-top:18px;border-top:1px solid var(--line)}
.record-editor[hidden]{display:none}
.record-done{display:flex;justify-content:flex-end}
.record-done>.btn,.education-done>.btn{min-height:44px;padding:10px 16px}
.resume-fields [aria-invalid="true"]{border-color:#ee8898!important}
.career-period-fields{min-width:0}
.current-employment{display:flex;align-items:center;gap:10px;width:fit-content;min-height:44px;margin:6px 0 0;font-size:13px;cursor:pointer}
.current-employment input{width:18px;height:18px;margin:0;accent-color:var(--mint)}
.career-achievements{border-top:1px solid var(--line);padding-top:22px;min-width:0}
.career-achievements-heading h3{font-size:15px!important;line-height:1.5;margin:0 0 12px}
.career-achievement{display:grid;gap:16px;margin:12px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#0F121A}
.achievement-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}
.achievement-head>.btn{min-height:40px;min-width:44px;padding:8px}
.add-achievement{width:100%;min-height:44px;border:1px dashed #ffffff26;color:var(--text-soft);background:transparent}
.legacy-achievements{padding-top:22px;border-top:1px solid var(--line);scroll-margin-top:100px}
.legacy-achievements>h3{font-size:17px!important}
.legacy-achievement{border:1px solid var(--line);border-radius:12px;padding:18px;margin-top:16px;background:#ffffff02}
.legacy-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-top:16px}
.legacy-link-row>.btn{min-height:48px}
.career-summary-entry+.career-summary-entry,.certification-summary-entry+.certification-summary-entry{margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}
.career-summary-entry>b,.certification-summary-entry>b{display:block}
.career-summary-entry>p,.certification-summary-entry>p{margin:5px 0 0;line-height:1.65}
.career-period{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.career-summary-detail{margin-top:14px}
.career-summary-detail>small,.legacy-achievement-summary>small{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}
.career-summary-detail>p{margin:0;line-height:1.7}
.career-result+.career-result{margin-top:12px}
.career-result>b{font-size:13px!important;line-height:1.65}
.career-result>p{margin:3px 0 0;line-height:1.7;overflow-wrap:anywhere}
.career-result>small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}
.legacy-achievement-summary{margin-top:20px;padding-top:16px;border-top:1px dashed var(--line)}
.resume-preview .career-summary-entry>b{font-size:13px}
.resume-preview .career-summary-entry>p,.resume-preview .career-result>p,.resume-preview .certification-summary-entry>p{font-size:11px}
.resume-preview .career-summary-detail{margin-top:10px}
.resume-preview .career-result>b{font-size:11px!important}
.resume-fields .field input[type="month"]{min-width:0;max-width:100%;font-variant-numeric:tabular-nums}
@media(min-width:961px){
  .form-aside{position:sticky;top:92px;align-self:start;min-width:0}
  .form-aside .resume-preview{display:flex;flex-direction:column;max-height:calc(100dvh - 240px)}
  .form-aside .preview-heading,.form-aside .preview-notice{flex:none}
  .form-aside .preview-body{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#435065 transparent}
}
#form-errors .error-box{margin:0 0 24px;scroll-margin-block:110px 180px;line-height:1.8}
.error-box>strong{display:block;font-size:13px;margin-bottom:8px}
.form-error-item+.form-error-item{margin-top:6px}
.form-error-item button{background:transparent;border:0;padding:4px 0;text-align:left;color:inherit;font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;line-height:1.7}
.form-error-item p{margin:0;font-size:13px}
.dialog-error{margin:0 24px 16px;padding:12px 14px;border:1px solid #ee889844;border-radius:10px;background:#ee889810;color:#ffb6c3;font-size:13px;line-height:1.7}
#dialog [aria-invalid="true"]{border-color:#ee8898}
#toast.show:has(button){width:calc(100% - 32px);max-width:480px}
#toast.show>span{flex:1;min-width:0;line-height:1.6}
#toast.show>.btn{flex:none}
.form-card--preview .check-row{margin:0;padding:18px;border:1px solid var(--line);border-radius:12px;background:#ffffff03;align-items:start}
.form-card--preview .check-row input{flex:none;margin-top:4px}
.form-card--preview .resume-fields>.mt-24{margin-top:0}
@media(max-width:740px){
  .career-period-fields .fields-row,.certification-dates{grid-template-columns:minmax(0,1fr);gap:20px}
  .career-achievement{padding:14px;gap:16px}
  .legacy-link-row{grid-template-columns:minmax(0,1fr);gap:12px}
  .form-card{padding:22px 20px}
  .form-card-head{gap:12px;margin-bottom:24px}
  .resume-fields{gap:20px}
  .resume-fields .field input,.resume-fields .field select,.resume-fields .field textarea{font-size:16px}
  .resume-fields .field label,.resume-fields .field-label{font-size:13px}
  .resume-fields .career-role-row,.form-card--impact .fields-row{grid-template-columns:minmax(0,1fr);gap:20px}
  .record-head{gap:4px}
  .record-toggle{gap:8px}
  .record-title strong{font-size:14px}
  .record-title>span{font-size:12px}
  .record-toggle-label{font-size:11px;gap:3px}
  .record-editor{gap:20px;padding-top:16px;margin-top:12px}
  .record-entry.is-editing .record-title>span{display:none}
  .record-entry.is-editing .record-toggle{min-height:44px}
  .form-footer{bottom:calc(92px + env(safe-area-inset-bottom));margin:24px 0 0;padding:12px 0;border-radius:0;background:#12151EF8}
  .form-footer>.btn{flex-shrink:0;min-height:46px}
  .form-card--preview .check-row{padding:15px;font-size:13px}
  .education-record-head{gap:4px}
  #toast.show{bottom:calc(180px + env(safe-area-inset-bottom));width:calc(100% - 32px);max-width:480px;font-size:13px}
}
@media(max-width:360px){
  .form-card{padding:20px 16px}
  .resume-fields .fields-row:not(.education-years):not(.education-school-type){grid-template-columns:minmax(0,1fr)}
  .record-toggle-label{font-size:10px}
}

/* Resume setup uses the same restrained mint checkpoints as the arena. */
.main[data-route="resume"] .form-card{border-color:#ffffff1b;background:linear-gradient(135deg,#3de8c604,transparent 42%),var(--surface);box-shadow:inset 0 1px 0 #ffffff08,0 12px 32px #00000012}
.form-steps{gap:6px}
.form-step{transition:color .16s ease;min-width:0}
.form-step i{flex:0 0 26px;width:26px;height:26px;border-radius:8px;background:#111923;border-color:#344255;font-variant-numeric:tabular-nums;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}
.form-step:after{height:2px;margin:0 9px;border-radius:2px;background:#263244}
.form-step:last-child{flex:0 0 auto}
.form-step.active{color:#e8fff7}
.form-step.active i{background:#3de8c6;border-color:#3de8c6;color:#082820;box-shadow:0 0 0 3px #3de8c60b,0 0 18px #3de8c612;font-weight:800}
.form-step.done{color:#9ad9c7}
.form-step.done i{position:relative;color:transparent;background:#19312c;border-color:#3de8c640}
.form-step.done i:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:700;color:#8de6ca}
.form-step.done:after{background:linear-gradient(90deg,#3de8c655,#3de8c622)}
.step-index{padding:5px 8px;border:1px solid #ffffff0f;border-radius:6px;background:#ffffff03;color:#a4b5c7;font-size:10px;line-height:1.5;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.record-number{display:grid;place-items:center;flex:0 0 24px;min-height:24px;padding:0;border:1px solid #ffffff0e;border-radius:7px;background:#ffffff03;color:#8f9caf;font-size:10px;line-height:1}
.record-entry.is-editing .record-number{border-color:#3de8c62c;background:#3de8c60a;color:#9be8d5}
.record-entry.is-editing .record-head{background:linear-gradient(90deg,#3de8c608,transparent 85%);border-radius:10px;padding:8px 10px;margin:-8px -10px}
.record-toggle-label,.record-toggle-label .icon{transition:color .16s ease,transform .16s ease}
.record-entry.is-editing .record-toggle-label{color:#a0d6c9}
.resume-fields .field input,.resume-fields .field select,.resume-fields .field textarea{transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}
.resume-fields .field input:focus,.resume-fields .field select:focus,.resume-fields .field textarea:focus{border-color:#3de8c69c;background:#101720;box-shadow:0 0 0 3px #3de8c60a}
.resume-fields .field input:focus-visible,.resume-fields .field select:focus-visible,.resume-fields .field textarea:focus-visible{outline:2px solid #3de8c655;outline-offset:2px}
.resume-fields .field-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;margin:8px 0 0;font-size:11px;line-height:1.6;color:var(--muted)}
.field-meta .field-limit{min-width:0}
.field-meta .field-count{flex:none;margin-left:auto;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:#b6c3d1}
.field-meta.is-over-limit{color:#ffb1bd}
.field-meta.is-over-limit .field-count{color:#ffb1bd;font-weight:650}
.resume-fields [aria-invalid="true"]{box-shadow:0 0 0 3px #ee88980a}
.current-employment{padding:6px 9px;border:1px solid transparent;border-radius:8px;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.current-employment:has(input:checked){border-color:#3de8c62a;background:#3de8c609;color:#a0e5d4}
.career-achievement{border-color:#b9a6ff1e;background:linear-gradient(130deg,#b9a6ff04,transparent 60%),#0f121a;box-shadow:inset 2px 0 0 #b9a6ff22}
.career-achievements-heading h3{color:#d8d0ed!important}
.record-done>.btn,.education-done>.btn{border-color:#3de8c62a;background:#3de8c608;color:#bbebdf}
.record-done>.btn:hover,.education-done>.btn:hover{border-color:#3de8c658;background:#3de8c612}
.form-footer .btn-primary{box-shadow:0 4px 14px #00000022}
@media(hover:hover){
  .record-toggle:hover .record-title strong{color:#d0fff0}
  .form-step:hover{color:#e7f9f3}
  .resume-fields .field input:not(:focus):not([aria-invalid="true"]):hover,.resume-fields .field select:not(:focus):not([aria-invalid="true"]):hover,.resume-fields .field textarea:not(:focus):not([aria-invalid="true"]):hover{border-color:#ffffff36}
}
@media(max-width:740px){
  .form-steps{gap:2px}
  .form-step{gap:4px;font-size:11px}
  .form-step i{flex-basis:22px;width:22px;height:22px;border-radius:7px;font-size:9px}
  .form-step:after{min-width:3px;margin:0 3px}
  .record-number{flex-basis:22px;min-height:22px;font-size:9px}
  .record-entry.is-editing .record-head{padding:7px 8px;margin:-7px -8px}
  .field-meta .field-count{font-size:11px}
  .step-index{font-size:9px;padding:4px 6px}
}
@media(max-width:360px){
  .form-step{font-size:10px}
  .form-step i{flex-basis:20px;width:20px;height:20px}
  .form-step:after{margin:0 2px}
  .form-step.done i:after{font-size:11px}
  .resume-fields .field-meta{gap:4px 8px}
}
@media(prefers-reduced-motion:reduce){
  .form-step,.form-step i,.record-toggle-label,.record-toggle-label .icon,.resume-fields .field input,.resume-fields .field select,.resume-fields .field textarea,.current-employment{transition:none}
}
