:root{--bg:#ededed;--surface:#fff;--ink:#171717;--muted:#808080;--blue:#f17b70;--blue-dark:#222222;--blue-pale:#fff1ed;--border:#ededed;--green:#49776b;--orange:#94734c;--red:#ba695f;--radius:18px;font-family:Inter,"PingFang SC","Microsoft YaHei",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:14px;font-synthesis:none;line-height:1.55;letter-spacing:.01em}*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit}button{cursor:pointer}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{transition:background .18s,color .18s,box-shadow .18s,transform .18s}button:disabled{cursor:not-allowed;opacity:.52}button:focus-visible,a:focus-visible{outline:3px solid #e6a39a;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:0;border-color:#e5a39a;box-shadow:0 0 0 3px #e8897d16}button svg{pointer-events:none}a{color:inherit;text-decoration:none}svg{display:block}p,h1,h2,h3,h4{margin:0}h1,h2,h3,h4{font-weight:650}.icon{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.topbar{height:84px;background:#ededed;border-bottom:1px solid var(--border);padding:0 max(32px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;background:var(--blue);width:42px;height:42px;border-radius:12px;color:#fff;box-shadow:0 4px 9px #e8897d16}.brand-mark svg{width:30px;height:30px}.brand-name{display:flex;align-items:center;gap:18px;font-size:23px;font-weight:750;letter-spacing:.08em}.brand-tagline{font-size:12px;font-weight:400;letter-spacing:.015em;color:var(--muted);border-left:1px solid var(--border);padding-left:18px}.header-actions{display:flex;align-items:center;gap:14px}.connection-status{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.status-dot{width:6px;height:6px;background:#aaaaaa;border-radius:50%}.connection-status.ready .status-dot{background:#4a9c85}.connection-status.demo .status-dot{background:#7e9de3}.shell{max-width:1344px;margin:0 auto;padding:46px 32px 0}.intro{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:30px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;color:#99908c;margin-bottom:10px}h1{font-size:clamp(27px,3vw,36px);line-height:1.4;letter-spacing:.015em;font-weight:700}.intro-copy{margin-top:12px;color:#858585;font-size:14px}.intro-note{display:flex;align-items:center;gap:12px;color:#7f7f7f;font-size:12px;line-height:1.85;white-space:nowrap}.intro-note small{color:#a0a0a0;font-size:11px}.note-icon{display:grid;place-items:center;width:38px;height:42px;background:#f1f1f1;color:#8d8d8d;border-radius:11px}.note-icon .icon{width:23px;height:23px}.mode-banner{display:flex;align-items:center;gap:12px;padding:11px 16px;border:1px solid #f1dfda;background:#fff8f5;border-radius:11px;margin-bottom:22px;font-size:12px;color:#95827c}.mode-banner strong{color:#8e6d62;white-space:nowrap;font-weight:600}.mode-banner .icon{width:16px;height:16px}.mode-banner .banner-action{margin-left:auto;color:#a26f5c;white-space:nowrap}.text-button,.banner-action{border:0;background:none;padding:0;color:var(--blue);font-size:12px;text-decoration:none}.text-button:hover,.banner-action:hover{text-decoration:underline}.service-banner{margin-bottom:22px;background:#faf6f0;color:#8a7662;border:1px solid #ece4d9;border-radius:12px;padding:14px 17px;font-size:12px}.service-banner summary{cursor:pointer;font-weight:600}.service-banner details{margin-top:8px}.service-banner details p{padding-top:10px;max-width:750px}.service-banner code{font-family:ui-monospace,monospace;background:#eae4dc;padding:2px 4px;border-radius:4px;font-size:11px}.error-banner{padding:13px 16px;background:#fff2ef;border:1px solid #f1d9d4;color:#ad6258;margin:0 0 20px;border-radius:11px}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 3px 16px #33333303;overflow:hidden}.input-panel{min-height:440px;display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 24px 18px}.step-label{display:flex;gap:14px;align-items:center}.step-number{height:36px;min-width:36px;border-radius:11px;background:var(--blue-pale);color:#ad8174;font-size:13px;font-weight:650;font-variant-numeric:tabular-nums;display:grid;place-items:center;letter-spacing:.04em}.step-label h2{font-size:17px;display:flex;align-items:center;gap:9px}.step-label p{font-size:12px;color:var(--muted);margin-top:4px}.count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:21px;padding:0 6px;background:#f4f4f4;color:#8d8d8d;border-radius:5px;font-size:11px;font-weight:500}.panel-actions{display:flex;align-items:center;gap:5px}.button{border:1px solid transparent;border-radius:9px;padding:10px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;font-size:13px;font-weight:550;white-space:nowrap;color:var(--ink);background:#fff}.button-small{padding:8px 11px;font-size:12px;gap:6px}.button-small .icon{width:15px;height:15px}.button-quiet{background:transparent;color:#737373}.button-quiet:hover{background:#f3f3f3;color:#333333}.button-soft{background:var(--blue-pale);color:#a46e5e}.button-soft:hover{background:#ffe9e2}.button-outline{border-color:var(--border);background:#fff;color:#686868}.button-outline:hover{border-color:#cccccc;background:#fafafa}.button-primary{color:#fff;background:var(--blue);box-shadow:0 5px 12px #22222213;padding:13px 22px}.button-primary:hover:enabled{background:var(--blue-dark);transform:translateY(-1px);box-shadow:0 6px 18px #2222221c}.button-danger{background:#fff2ef;color:#b5675c}.icon-button{border:0;background:transparent;color:#a0a0a0;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:7px}.icon-button .icon{width:16px;height:16px}.icon-button:hover{background:#f4f4f4;color:#555555}.icon-button.danger:hover{background:#fff1ed;color:#be6b5f}.select-toolbar{display:flex;justify-content:space-between;align-items:center;color:#969696;font-size:11px;margin:0 24px;padding:9px 0 12px;border-bottom:1px solid #f0f0f0;min-height:39px}.check-label{display:inline-flex;gap:9px;align-items:center;cursor:pointer;color:#888888}.check-label input,input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:15px;height:15px;min-width:15px;padding:0;margin:0;border:1px solid #d7d7d7;border-radius:4px;background:#fff;vertical-align:middle;cursor:pointer;box-shadow:none}.check-label input:checked,input[type=checkbox]:checked{border-color:var(--blue);background:var(--blue)}input[type=checkbox]:checked:before{content:"";width:7px;height:4px;border-left:1.8px solid #fff;border-bottom:1.8px solid #fff;transform:rotate(-45deg) translateY(-1px)}input[type=checkbox]:indeterminate{border-color:#a4a4a4;background:#a4a4a4}input[type=checkbox]:indeterminate:before{content:"";width:7px;height:1.5px;background:white}.item-list{padding:0 24px;max-height:326px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#dedede transparent;flex:1}.item-card{display:flex;align-items:flex-start;gap:11px;padding:16px 0;border-bottom:1px solid #f0f0f0;min-height:78px}.item-card:last-child{border-bottom:0}.item-card>.check-label{padding-top:4px}.item-content{flex:1;min-width:0}.item-title-row{display:flex;align-items:center;gap:8px}.item-title{font-size:13px;font-weight:580;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#303030}.item-summary{color:#969696;font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:390px}.item-category{font-size:10px;border:1px solid #ececec;color:#939393;border-radius:4px;padding:1px 5px;white-space:nowrap}.item-actions{display:flex;align-items:center;gap:2px;margin-right:-6px}.item-action-label{border:0;background:none;color:#949494;font-size:11px;padding:4px 3px;white-space:nowrap}.item-action-label:hover{color:var(--blue)}.item-actions .danger{opacity:0}.item-card:hover .danger,.item-card:focus-within .danger{opacity:1}.panel-footnote{display:flex;align-items:center;gap:7px;color:#a0a0a0;font-size:10px;border-top:1px solid #f0f0f0;padding:13px 24px;margin-top:auto;background:#fdfdfd}.panel-footnote .icon{width:13px;height:13px}.dropzone{margin:0 24px 7px;border:1.5px dashed #e3e3e3;background:#f9f9f9;border-radius:12px;min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#888888;padding:17px 14px;transition:.2s}.dropzone:hover,.dropzone.dragover{background:#fff8f5;border-color:#e7a298}.dropzone.dragover{box-shadow:0 0 0 4px #e8897d0b}.upload-icon{background:#fff0eb;border-radius:9px;padding:9px;color:#db9c8d;margin-bottom:3px}.upload-icon .icon{width:21px;height:21px}.dropzone-title{font-size:12px;color:#777777}.dropzone-title>span{color:#d08272;margin-left:3px}.dropzone-help{font-size:10px;color:#a0a0a0;margin-top:2px}.dropzone-detail{font-size:10px;color:#aaaaaa}.resumes-list{max-height:173px}.resume-icon{width:31px;height:36px;color:#c49a90;display:grid;place-items:center;background:#f9f1ee;border:1px solid #f4e9e5;border-radius:7px;flex-shrink:0}.resume-icon .icon{width:17px;height:17px}.resumes-list .item-card{min-height:66px;padding:12px 0;align-items:center}.resumes-list .item-card>.check-label{padding-top:0}.resume-meta{font-size:10px;color:#a7a7a7;margin-top:3px}.upload-errors{margin:10px 24px 18px;padding:11px 13px;background:#fff6f3;border-radius:8px;color:#a77765;font-size:11px}.upload-errors p+p{margin-top:5px}.list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center;color:#aaa7a5;padding:32px 12px}.list-empty>.icon{width:30px;height:30px;color:#d0cac7;margin-bottom:14px}.list-empty strong{font-size:13px;font-weight:500;color:#8d8885}.list-empty p{font-size:11px;max-width:240px;margin-top:6px}.list-empty .button{margin-top:16px}.resumes-list .list-empty{min-height:90px;padding:18px 12px}.resumes-list .list-empty>.icon{display:none}.run-panel{border:1px solid var(--border);background:#fff;border-radius:15px;margin-top:20px;display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:18px;flex-wrap:wrap}.run-panel .step-number{background:#f3f3f3}.run-panel .step-label h2{font-size:15px}.run-panel .step-label p{font-size:12px}.run-actions{display:flex;align-items:center;gap:20px}.run-hint{font-size:11px;color:#a0a0a0}.run-actions .button{min-width:160px}.run-actions .button>.icon:last-child{margin-left:5px}.task-progress{width:100%;border-top:1px solid var(--border);padding-top:17px;margin-top:1px}.task-progress-header{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#8c8c8c}.task-progress-header strong{color:#737373;font-weight:550}.progress-track{height:5px;background:#eeeeee;border-radius:10px;overflow:hidden;margin-top:13px}.progress-track>span{display:block;height:100%;background:var(--blue);border-radius:10px;transition:width .5s}.task-errors{color:#9e7867;font-size:11px;margin-top:10px}.task-errors summary{cursor:pointer}.task-errors ul{margin:6px 0 0;padding-left:18px}.results-section{margin-top:40px}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-title-row{display:flex;align-items:center;gap:13px}.results-heading h2{font-size:21px;letter-spacing:.025em}.results-count{font-size:11px;color:#a0a0a0}.results-heading p{color:#949494;font-size:11px;margin-top:7px}.results-tools{margin:22px 0 17px;display:flex;align-items:center;justify-content:space-between;gap:20px}.segmented{display:flex;padding:4px;border:1px solid #e5e5e5;background:#e6e6e6;border-radius:10px;gap:3px}.segmented button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#929292;padding:7px 15px;border-radius:7px;font-size:11px;white-space:nowrap}.segmented button.active{background:#fff;color:#313131;box-shadow:0 1px 5px #22222209}.segmented .icon{width:14px;height:14px}.results-filters{display:flex;gap:9px;align-items:center}.search-control{display:flex;align-items:center;border:1px solid #e6e6e6;background:#fff;border-radius:9px;padding:0 11px;gap:8px;color:#aaaaaa}.search-control .icon{width:15px;height:15px}.search-control input{border:0;background:none;padding:9px 0;font-size:11px;outline:none;min-width:180px;color:#727272;box-shadow:none}.search-control:focus-within{border-color:#d3b4aa}.search-control input::placeholder{color:#ababab}.sort-control select{border:1px solid #e6e6e6;padding:8px 30px 8px 11px;font-size:11px;color:#8a8a8a;border-radius:9px;background:#fff;min-height:36px}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.result-card{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden;box-shadow:0 2px 8px #33333302}.result-card-heading{padding:20px 22px 16px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #f0f0f0}.candidate-avatar{width:36px;height:36px;border-radius:50%;background:#f6f1ef;color:#b78e82;font-size:13px;display:grid;place-items:center;flex-shrink:0;font-weight:550}.candidate-avatar.job-avatar{border-radius:10px;background:#f4f1ef;color:#af9990}.result-title{font-size:13px;font-weight:600;color:#333333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-heading-copy{flex:1;min-width:0}.result-subtitle{font-size:10px;color:#a0a0a0;margin-top:3px}.result-card-heading .icon-button{margin-left:auto}.match-list{padding:0 22px}.match-row{display:flex;gap:11px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f1f1f1;padding:16px 0;color:inherit}.match-row:last-child{border-bottom:0}.match-row:hover .match-title{color:var(--blue)}.match-rank{align-self:flex-start;font-size:10px;font-weight:600;color:#c0c0c0;min-width:13px;padding-top:3px}.match-row:first-child .match-rank{color:#cc9588}.match-description{flex:1;min-width:0}.match-title{font-size:12px;font-weight:550;color:#575757;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-badges{display:flex;align-items:center;gap:6px;margin-top:6px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;font-size:9px;line-height:1.6;color:#949494;background:#f4f4f4;border-radius:4px;padding:1px 5px;white-space:nowrap}.badge.supported{color:#5f8a79;background:#eef7f1}.badge.warning{color:#a38b62;background:#faf5e9}.badge.unmet{color:#c28b80;background:#fff2ed}.badge.neutral{color:#99918c;background:#f4f2f0}.match-score{display:flex;flex-direction:column;align-items:flex-end;min-width:95px}.score-label{font-size:9px;color:#aaaaaa;white-space:nowrap}.score-number{font-size:24px;color:#383838;letter-spacing:-.06em;line-height:1.35;font-variant-numeric:tabular-nums;font-weight:650}.score-number small{font-size:10px;font-weight:400;color:#aeaeae;letter-spacing:0;margin-left:3px}.score-bar{width:65px;height:3px;background:#f1eeec;border-radius:5px;overflow:hidden;margin-top:3px}.score-bar span{display:block;height:100%;background:#e9a79b}.match-row>.icon{width:13px;height:13px;color:#c0c0c0;margin-left:4px}.result-card-footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;padding:12px 22px;color:#aaaaaa;border-top:1px solid #f1f1f1;background:#fdfdfd}.result-card-footer .text-button{font-size:10px}.results-empty{grid-column:1/-1;border:1px dashed #dadada;border-radius:15px;min-height:246px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:#aaaaaa;background:#f7f7f7;padding:32px}.results-empty .empty-visual{display:flex;position:relative;margin-bottom:20px}.empty-visual>span{width:51px;height:58px;border-radius:11px;background:#fff;display:grid;place-items:center;color:#c5b4ac;border:1px solid #eee7e3;transform:rotate(-8deg)}.empty-visual>span+span{margin-left:-10px;transform:rotate(8deg);background:#fff4ef;color:#d0a89b}.empty-visual .icon{width:25px;height:25px}.results-empty h3{color:#96908c;font-size:14px;font-weight:550}.results-empty p{font-size:11px;margin-top:8px;max-width:430px}.scoring-note{display:flex;gap:9px;margin:20px 2px 0;font-size:10px;color:#a3a09e;line-height:1.9}.scoring-note .icon{width:14px;height:14px;margin-top:2px;color:#bab0a9}.scoring-note strong{font-weight:550;color:#a09791}.footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:27px 0 30px;margin-top:18px;border-top:1px solid #dfdfdf;font-size:10px;color:#ababab}.footer-brand{font-size:12px;font-weight:600;color:#99908b;margin-right:13px}.footer .text-button{font-size:10px;color:#a29a95}.dialog{border:1px solid #eeeeee;border-radius:19px;padding:0;width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 60px);color:var(--ink);box-shadow:0 24px 100px #24201f20;background:#fff}.dialog::backdrop{background:#24201f45;backdrop-filter:blur(4px)}.dialog-wide{width:min(900px,calc(100vw - 32px))}.dialog-narrow{width:min(450px,calc(100vw - 32px))}.dialog-header{padding:24px 28px 19px;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;border-bottom:1px solid #f0f0f0;position:sticky;top:0;background:#fffffff5;backdrop-filter:blur(10px);z-index:1}.dialog-header h2{font-size:19px;letter-spacing:.025em}.dialog-header p{font-size:11px;color:#999999;margin-top:5px}.dialog-header>.icon-button{margin-right:-8px;margin-top:-3px}.dialog-body{padding:24px 28px}.dialog-footer{padding:17px 28px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:10px;background:#fafafa;border-radius:0 0 18px 18px}.field{margin-bottom:18px}.field:last-child{margin-bottom:0}.field label{display:block;font-size:12px;font-weight:550;color:#686868;margin-bottom:8px}.field label>small{font-size:10px;font-weight:400;color:#a1adbc;margin-left:7px}.field input:not([type=checkbox]),.field textarea{border:1px solid #e5e5e5;background:#fdfdfd;padding:12px 13px;border-radius:9px;width:100%;color:#666666;font-size:12px}.field input::placeholder,.field textarea::placeholder{color:#aeaeae}.field textarea{resize:vertical;line-height:1.8;min-height:170px}.field-hint{font-size:10px;color:#a4a4a4;margin-top:7px}.form-error{color:#b77568;background:#fff4f0;border-radius:8px;padding:10px 12px;font-size:11px;margin-bottom:16px}.section-caption{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#aaa3a0;margin:22px 0 10px}.section-caption:first-child{margin-top:0}.role-summary{font-size:14px;line-height:1.9;color:#77716e;background:#f7f5f3;padding:17px 19px;border-radius:12px}.detail-list{margin:0;padding-left:18px;color:#8c8580;font-size:12px;line-height:1.9}.detail-list li+li{margin-top:6px}.glossary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.glossary-item{border:1px solid #eee8e4;border-radius:10px;padding:12px 14px}.glossary-item strong{display:block;font-size:12px;font-weight:600;color:#8e7467}.glossary-item p{font-size:11px;color:#a19690;margin-top:5px;line-height:1.8}.requirements-table{width:100%;border-collapse:collapse;font-size:11px;color:#8e8078}.requirements-table th{text-align:left;font-size:10px;font-weight:550;color:#afa19a;border-bottom:1px solid #eee8e3;padding:9px 8px}.requirements-table td{padding:12px 8px;border-bottom:1px solid #f2eeeb;vertical-align:top}.requirements-table td:first-child{padding-left:0}.requirements-table td:last-child{white-space:nowrap}.requirement-source{font-size:10px;color:#b0a39c;line-height:1.7;margin-top:4px}.original-details{margin-top:21px;border-top:1px solid #eee9e6;padding-top:14px}.original-details summary{cursor:pointer;font-size:11px;color:#a69083}.original-text{white-space:pre-wrap;word-break:break-word;background:#faf9f8;border:1px solid #f1eeec;border-radius:9px;padding:16px;font-size:11px;line-height:1.85;color:#978d86;max-height:330px;overflow:auto;margin-top:12px;font-family:inherit}.detail-score-hero{display:flex;align-items:center;gap:25px;padding:20px;border:1px solid #f0e5df;background:#fbf7f4;border-radius:12px;margin-bottom:18px}.detail-score-big{min-width:105px}.detail-score-big .score-number{font-size:44px;color:#383838}.detail-score-big .score-number small{font-size:14px}.detail-score-big .score-label{font-size:10px;color:#ab9689}.detail-score-text{border-left:1px solid #eaddd5;padding-left:25px;flex:1}.detail-score-text p{font-size:12px;color:#948072;line-height:1.85}.detail-score-text .match-badges{margin-top:10px}.coverage-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 23px}.metric{border:1px solid #ede7e3;border-radius:10px;padding:12px 14px}.metric span{font-size:10px;color:#aa9e96;display:block}.metric strong{font-size:19px;font-weight:600;color:#8b776a;display:block;margin-top:3px;font-variant-numeric:tabular-nums}.criterion{padding:17px 0;border-bottom:1px solid #f1ece9}.criterion:first-child{padding-top:0}.criterion:last-child{border-bottom:0}.criterion-header{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.criterion-header h4{font-size:12px;font-weight:550;color:#7b6b60;line-height:1.8}.criterion-weight{font-size:10px;font-weight:400;color:#b2a69d;margin-left:8px}.criterion p{font-size:11px;color:#a19489;line-height:1.85;margin-top:8px}.evidence{background:#f9f7f4;border-left:2px solid #dec8b9;margin-top:9px;padding:10px 13px;font-size:11px;color:#95806e;line-height:1.85;border-radius:0 6px 6px 0}.evidence span{display:block;font-size:9px;color:#b7a89b;margin-top:3px}.question-hint{display:flex;gap:7px;margin-top:9px;color:#a59376;font-size:11px;line-height:1.8}.question-hint .icon{width:14px;height:14px;margin-top:3px}.match-detail-foot{font-size:9px;color:#bbb3aa;margin-top:20px}.allmatch-row{display:flex;align-items:center;border-bottom:1px solid #f1eeec;gap:12px;width:100%;padding:16px 0;background:none;text-align:left;border-top:0;border-left:0;border-right:0}.allmatch-row:last-child{border-bottom:0}.allmatch-row:hover .match-title{color:var(--blue)}.allmatch-row .match-score{margin-left:auto}.allmatch-row .icon{width:15px;height:15px;color:#c3b8af}.about-copy{font-size:12px;color:#928273;line-height:1.95}.about-copy h3{font-size:13px;color:#7f6b5b;margin:19px 0 8px}.about-copy h3:first-child{margin-top:0}.about-copy ul{padding-left:18px;margin:8px 0 0}.about-copy li+li{margin-top:6px}.toasts{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:20;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:min(500px,calc(100vw - 32px))}.toast{border:1px solid #eadfd6;box-shadow:0 6px 25px #3c2c2220;background:#fff;color:#907461;border-radius:11px;padding:12px 17px;font-size:12px;text-align:center;animation:toast-in .2s ease}.toast.error{border-color:#eedbd2;color:#aa7f6b}.loading{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}.login-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#fff1eb;color:#cf9a80;margin-bottom:18px}.login-icon .icon{width:23px;height:23px}.edit-weight{width:58px;border:1px solid #e5e5e5;background:#fff;color:#9a7f6a;border-radius:6px;padding:5px}.requirements-edit-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px;gap:12px;font-size:10px;color:#b5a391}.inline-help{font-size:11px;color:#b6a595;background:#faf7f3;border-radius:9px;padding:12px 14px;line-height:1.85}.job-unanalyzed{padding:18px;background:#f7f5f3;color:#a18b77;font-size:12px;border-radius:11px;line-height:1.9}.pending-dot{height:6px;width:6px;background:#d8a892;display:inline-block;border-radius:50%;animation:pulse 1.4s ease-in-out infinite;margin-right:7px}[hidden]{display:none!important}@keyframes spin{to{transform:rotate(360deg)}}@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{50%{opacity:.25}}@media(min-width:1500px){.shell{padding-top:54px}.intro{margin-bottom:34px}}@media(max-width:1100px){.brand-tagline{display:none}.intro-note{display:none}.panel-heading{padding:21px 19px 17px}.select-toolbar{margin:0 19px}.item-list{padding:0 19px}.dropzone{margin-left:19px;margin-right:19px}.step-label{gap:10px}.panel-actions{gap:0}.panel-heading .button-small{padding:8px}.item-category{display:none}.run-hint{display:none}.shell{padding:34px 24px 0}.topbar{padding:0 24px}.match-score{min-width:84px}.match-row{gap:8px}.match-list{padding:0 17px}.result-card-heading{padding:18px 17px 15px}.result-card-footer{padding-left:17px;padding-right:17px}}@media(max-width:760px){.topbar{height:70px;padding:0 18px}.brand-mark{width:36px;height:36px;border-radius:10px}.brand-name{font-size:21px}.connection-status{display:none}.header-actions{gap:4px}.header-actions .button{font-size:11px;padding:8px 11px}.shell{padding:29px 17px 0}.intro{margin-bottom:21px}.eyebrow{font-size:10px;letter-spacing:.13em}h1{font-size:27px}.intro-copy{font-size:12px;line-height:1.9;max-width:320px;margin-top:9px}.mode-banner{font-size:10px;align-items:flex-start;padding:11px 12px;gap:8px;margin-bottom:17px;flex-wrap:wrap}.mode-banner .banner-action{margin-left:auto}.mode-banner .banner-copy{flex-basis:100%;order:3;padding-left:24px}.input-grid{grid-template-columns:1fr;gap:17px}.input-panel{min-height:unset}.panel-heading{padding:21px 18px 17px}.step-label h2{font-size:16px}.step-label p{font-size:11px}.item-list{max-height:262px;padding:0 18px}.select-toolbar{margin:0 18px}.resumes-list{max-height:215px}.panel-footnote{padding-left:18px;padding-right:18px}.item-actions .danger{opacity:1}.dropzone{min-height:145px;margin-left:18px;margin-right:18px}.run-panel{padding:18px;gap:17px;margin-top:17px}.run-actions{margin-left:auto}.run-panel .step-label p{font-size:10px}.run-actions .button{min-width:140px;padding:12px 15px}.run-panel .step-number{display:none}.results-section{margin-top:30px}.results-heading h2{font-size:19px}.results-heading p{font-size:10px;max-width:260px;line-height:1.8}.results-heading{gap:12px;align-items:flex-start}.results-heading .button{font-size:10px;padding:8px 9px}.section-title-row{gap:9px}.results-count{font-size:10px}.results-tools{flex-wrap:wrap;gap:13px;margin-top:19px}.results-filters{width:100%;display:flex;gap:8px}.search-control{flex:1;min-width:0}.search-control input{min-width:0;width:100%;font-size:11px}.sort-control select{font-size:10px;width:125px}.segmented button{padding:7px 15px}.results-grid{grid-template-columns:1fr;gap:15px}.result-card-heading{padding:19px 20px 15px}.match-list{padding:0 20px}.match-row{padding:15px 0}.match-score{min-width:97px}.match-title{font-size:12px}.result-card-footer{padding:12px 20px}.footer{font-size:9px;padding-top:21px;align-items:flex-start}.footer-brand{margin-right:8px}.footer>span{max-width:260px}.dialog{max-height:calc(100dvh - 24px);border-radius:15px}.dialog-header{padding:21px 20px 17px}.dialog-header h2{font-size:17px}.dialog-body{padding:20px}.dialog-footer{padding:15px 20px}.glossary{grid-template-columns:1fr}.detail-score-hero{padding:15px;gap:16px}.detail-score-text{padding-left:16px}.detail-score-text p{font-size:11px}.detail-score-big{min-width:90px}.detail-score-big .score-number{font-size:36px}.coverage-metrics{gap:7px}.metric{padding:10px}.metric strong{font-size:17px}.metric span{font-size:9px}.requirements-table{font-size:10px}.requirement-source{font-size:9px}.criterion-header{gap:8px}.criterion-header h4{font-size:11px}.criterion-weight{font-size:9px}.requirements-edit-footer{align-items:flex-start}.results-empty{min-height:220px}.scoring-note{font-size:9px}.dialog-wide{width:calc(100vw - 24px)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Soft surfaces, generous space, and coral clay illustrations. */
:root {
  --bg: #ededed;
  --surface: #ffffff;
  --ink: #161616;
  --muted: #8b8b8b;
  --blue: #1b1b1b;
  --blue-dark: #333333;
  --blue-pale: #f5f3f1;
  --border: #efefef;
  --radius: 36px;
  --coral: #ec8d7d;
  --coral-soft: #fff3ed;
  --spring: cubic-bezier(.2,.8,.25,1.15);
  letter-spacing: .012em;
}
body { background: var(--bg); }
.topbar { height: 96px; max-width: 1344px; padding: 0 32px; margin: 0 auto; background: transparent; border: 0; }
.brand { gap: 13px; }
.brand-mark { width: 42px; height: 42px; border-radius: 14px; background: #1b1b1b; box-shadow: none; }
.brand-name { font-size: 23px; letter-spacing: .06em; }
.brand-tagline { color: #989898; border-color: #d9d9d9; font-size: 11px; }
.header-actions { gap: 16px; }
.header-actions .button { padding: 11px 18px; background: #ffffffbf; color: #686868; }
.header-actions .button:hover { background: #fff; }
.connection-status { font-size: 11px; color: #929292; }
.status-dot { background: #b2b2b2; }
.connection-status.demo .status-dot { background: #dbaa9c; }
.connection-status.ready .status-dot { background: #8aaf98; }
.shell { padding-top: 8px; }
.intro { position: relative; min-height: 324px; padding: 40px 52px; margin-bottom: 23px; background: #fff; border-radius: 42px; overflow: hidden; }
.intro-content { position: relative; z-index: 1; }
.eyebrow { display: flex; align-items: center; gap: 8px; margin-bottom: 17px; color: #9b8b83; font-size: 11px; font-weight: 500; letter-spacing: .09em; }
.eyebrow span { width: 6px; height: 6px; border-radius: 50%; background: #ed9a88; }
h1 { font-size: clamp(34px,3.4vw,44px); font-weight: 750; line-height: 1.36; letter-spacing: .015em; color: #171717; }
.heading-dot { color: #ea9b89; }
.intro-copy { font-size: 12px; color: #9b9b9b; line-height: 1.9; margin-top: 15px; }
.intro-points { display: flex; align-items: center; gap: 13px; margin-top: 19px; color: #b0a39a; font-size: 10px; }
.intro-points i { display: block; width: 3px; height: 3px; background: #d9cdc4; border-radius: 50%; }
.hero-visual { width: 310px; margin: -18px 50px -15px 0; display: flex; align-items: center; flex-direction: column; flex-shrink: 0; }
.clay-illustration { width: 270px; height: 244px; overflow: visible; animation: gentle-float 7s ease-in-out infinite; }
.visual-caption { font-size: 10px; color: #c4b2a7; letter-spacing: .12em; margin-top: -1px; }
.mode-banner { background: #e6e5e2; border: 0; border-radius: 20px; margin: 0 0 23px; padding: 13px 20px; color: #9e9188; }
.mode-banner strong { color: #8f7d71; font-size: 11px; }
.mode-banner .banner-copy { font-size: 11px; color: #a59b94; }
.mode-banner .banner-action { color: #8e7868; font-size: 11px; }
.service-banner { border: 0; border-radius: 23px; padding: 18px 22px; background: #f6efe3; color: #998567; line-height: 1.8; }
.service-banner summary { font-weight: 500; font-size: 11px; }
.service-banner strong { font-size: 12px; font-weight: 550; }
.error-banner { border: 0; border-radius: 20px; }
.input-grid { gap: 22px; }
.panel { border: 0; border-radius: 36px; box-shadow: none; }
.input-panel { min-height: 512px; }
.panel-heading { padding: 28px 28px 20px; gap: 15px; }
.step-label { gap: 13px; }
.step-number { width: 35px; height: 35px; min-width: 35px; border-radius: 50%; background: #f3f2f0; color: #b0a397; font-size: 11px; font-weight: 500; }
.step-label h2 { font-size: 18px; font-weight: 650; gap: 9px; }
.step-label p { font-size: 11px; color: #a0a0a0; margin-top: 6px; }
.count { color: #b3a398; background: #f6f3ef; height: 21px; border-radius: 7px; font-size: 10px; }
.button { border: 0; border-radius: 999px; padding: 11px 18px; font-size: 12px; transition: transform .24s var(--spring),background .18s ease,box-shadow .18s ease; font-weight: 500; }
.button:active:enabled, .icon-button:active:enabled { transform: scale(.96); }
.button:focus-visible, .icon-button:focus-visible { outline: 3px solid #edb9a9; outline-offset: 3px; }
.button-small { padding: 9px 14px; font-size: 11px; gap: 5px; }
.button-quiet { background: transparent; color: #999999; }
.button-quiet:hover { background: #f6f6f6; color: #666666; }
.button-soft { background: #f4f3f1; color: #8f837a; }
.button-soft:hover { background: #eeebe7; }
.button-outline { background: #f3f3f3; color: #7c7c7c; }
.button-outline:hover { background: #e9e9e9; }
.button-primary { background: #171717; color: #fff; box-shadow: none; padding: 15px 25px; }
.button-primary:hover:enabled { background: #333; transform: translateY(-2px); box-shadow: 0 6px 15px #0000000c; }
.button-primary:active:enabled { transform: translateY(0) scale(.97); }
.button-danger { background: #e9806b; color: #fff; }
.button-danger:hover { background: #d96c59; }
.icon-button { border-radius: 50%; width: 31px; height: 31px; color: #b5b5b5; }
.icon-button:hover { background: #f5f5f5; color: #777; }
.icon-button.danger:hover { color: #c98474; background: #fff2ec; }
.panel-actions { gap: 7px; }
.select-toolbar { margin: 0 28px; padding: 9px 0 13px; font-size: 10px; color: #b1b1b1; border-color: #f4f4f4; }
.check-label { color: #a9a9a9; gap: 9px; }
.check-label input,input[type=checkbox] { border-radius: 5px; border-color: #dcdcdc; width: 15px; height: 15px; min-width: 15px; }
input[type=checkbox]:checked,.check-label input:checked { background: #555; border-color: #555; }
input[type=checkbox]:indeterminate { background: #a8a29d; border-color: #a8a29d; }
.item-list { max-height: 350px; padding: 0 28px; scrollbar-color: #e5e5e5 transparent; }
.item-card { padding: 18px 0; min-height: 85px; gap: 12px; border-color: #f4f4f4; }
.item-title { color: #595959; font-size: 12px; font-weight: 550; }
.item-summary { color: #afafaf; font-size: 10px; line-height: 1.7; margin-top: 5px; }
.item-category { border: 0; background: #f7f5f3; color: #b0a198; font-size: 9px; border-radius: 5px; padding: 3px 5px; }
.item-action-label { font-size: 10px; color: #aa9c92; }
.item-action-label:hover { color: #c88772; }
.panel-footnote { padding: 15px 28px; background: #fff; color: #b9b3af; border-color: #f5f3f1; font-size: 9px; }
.dropzone { margin: 0 28px 8px; border: 0; border-radius: 25px; min-height: 187px; padding: 15px 14px 17px; gap: 4px; background: #f8f8f8; }
.dropzone:hover,.dropzone.dragover { background: #fff7f2; box-shadow: inset 0 0 0 1.5px #edc5b6; }
.upload-illustration { display: block; height: 78px; margin-bottom: -2px; }
.upload-illustration svg { width: 95px; height: 86px; transition: transform .4s var(--spring); }
.dropzone:hover .upload-illustration svg { transform: translateY(-4px) rotate(-3deg); }
.dropzone-title { color: #8b8b8b; font-size: 12px; }
.dropzone-title>span { color: #c08772; }
.dropzone-help { color: #b5b5b5; font-size: 9px; margin-top: 4px; }
.dropzone-detail { font-size: 9px; color: #c0c0c0; }
.resumes-list { max-height: 185px; }
.resumes-list .item-card { min-height: 69px; padding: 12px 0; }
.resume-icon { border: 0; background: #f7f1ed; color: #c4a38d; border-radius: 11px; width: 33px; height: 36px; }
.resume-meta { font-size: 9px; color: #b5b5b5; margin-top: 4px; }
.upload-errors { margin: 10px 28px 20px; padding: 12px 15px; border-radius: 15px; font-size: 10px; color: #ad8d79; }
.list-empty { min-height: 250px; }
.list-empty strong { color: #a59d98; font-size: 13px; }
.list-empty p { color: #b9b0aa; line-height: 1.9; }
.resumes-list .list-empty { min-height: 105px; }
.run-panel { margin-top: 22px; background: #fff; border: 0; border-radius: 30px; padding: 24px 30px; gap: 18px; }
.run-panel .step-number { background: #f3f2ef; }
.run-panel .step-label h2 { font-size: 16px; }
.run-panel .step-label p { font-size: 11px; }
.run-hint { font-size: 10px; color: #b5ada6; }
.run-actions { gap: 24px; }
.run-actions .button { min-width: 184px; }
.task-progress { border-color: #f1eeeb; padding-top: 20px; }
.task-progress-header { font-size: 11px; color: #a79b92; }
.task-progress-header strong { color: #8c8076; }
.progress-track { height: 4px; background: #f5eee9; }
.progress-track>span { background: #dba38b; }
.results-section { margin-top: 39px; }
.results-heading h2 { font-size: 22px; font-weight: 650; }
.results-heading p { color: #a6a09c; font-size: 10px; }
.results-heading .button-outline { background: #ffffffbf; color: #9d938b; }
.results-count { color: #b2a79e; font-size: 10px; }
.results-tools { margin: 22px 0 20px; }
.segmented { background: #e3e2e0; border: 0; border-radius: 999px; padding: 4px; gap: 2px; }
.segmented button { border-radius: 999px; font-size: 11px; padding: 9px 18px; color: #a29a94; }
.segmented button.active { color: #675e56; box-shadow: 0 2px 5px #33282005; }
.search-control { border: 0; border-radius: 999px; padding: 0 15px; background: #ffffffb3; color: #b0a49a; }
.search-control input { padding: 11px 0; font-size: 10px; color: #978a7e; }
.search-control input::placeholder { color: #b7aa9e; }
.search-control:focus-within { box-shadow: 0 0 0 2px #dbc8b9; background: #fff; }
.sort-control select { border: 0; border-radius: 999px; background: #ffffffb3; color: #a29386; font-size: 10px; min-height: 37px; padding-left: 15px; }
.results-grid { gap: 22px; }
.result-card { border: 0; border-radius: 30px; box-shadow: none; }
.result-card-heading { padding: 24px 27px 18px; border-color: #f3f1ef; gap: 12px; }
.candidate-avatar { width: 38px; height: 38px; background: #f5eee8; color: #b59882; font-size: 13px; }
.candidate-avatar.job-avatar { border-radius: 13px; background: #f5f0ec; color: #b4a08f; }
.result-title { color: #57504a; font-size: 12px; }
.result-subtitle { color: #b7ada3; font-size: 9px; margin-top: 4px; }
.match-list { padding: 0 27px; }
.match-row { padding: 17px 0; gap: 11px; border-color: #f6f3f0; }
.match-title { font-size: 12px; color: #71675e; }
.match-row:hover .match-title,.allmatch-row:hover .match-title { color: #ba8d6b; }
.match-rank { color: #d1c3b6; font-size: 9px; min-width: 13px; }
.match-row:first-child .match-rank { color: #c8a68b; }
.badge { border-radius: 5px; font-size: 8px; padding: 2px 5px; background: #f6f4f1; color: #b2a190; }
.badge.neutral { background: #f4f3f1; color: #a69c91; }
.badge.supported { background: #f0f6ef; color: #8b9e7e; }
.badge.warning { background: #faf4e9; color: #b79c70; }
.badge.unmet { background: #fff1ea; color: #c79c80; }
.match-score { min-width: 88px; }
.score-label { font-size: 8px; color: #b9aba0; }
.score-number { font-size: 24px; color: #7b6250; font-weight: 600; }
.score-number small { color: #c2b5a8; font-size: 9px; }
.score-bar { width: 61px; background: #f5eee7; height: 3px; margin-top: 3px; }
.score-bar span { background: #deb59a; }
.match-row>.icon { color: #d0c3b5; width: 12px; height: 12px; }
.result-card-footer { background: #fff; border-color: #f6f2ed; padding: 14px 27px 18px; font-size: 9px; color: #c3b6a9; }
.result-card-footer .text-button { font-size: 9px; color: #af9178; }
.results-empty { border: 0; background: #ffffffb8; border-radius: 32px; min-height: 265px; color: #b8ab9e; }
.empty-visual>span { border-color: #efe6df; border-radius: 15px; }
.results-empty h3 { font-size: 15px; color: #a5917f; }
.results-empty p { font-size: 11px; color: #bbaa9a; }
.scoring-note { color: #b3a496; font-size: 9px; line-height: 2; margin-top: 22px; }
.scoring-note strong { color: #a18d79; }
.scoring-note .icon { color: #beac9b; }
.footer { margin-top: 24px; border-color: #ddd8d2; color: #b4a698; font-size: 9px; padding: 24px 0 28px; }
.footer-brand { color: #a38e78; }
.footer .text-button { color: #a89480; font-size: 9px; }
.dialog { border: 0; border-radius: 34px; box-shadow: 0 20px 90px #291d1224; }
.dialog::backdrop { background: #38302a4d; backdrop-filter: blur(7px); }
.dialog-header { padding: 28px 30px 22px; border-color: #f0ebe5; background: #fffffff2; }
.dialog-header h2 { font-size: 20px; font-weight: 650; color: #514235; }
.dialog-header p { color: #b29e8a; font-size: 11px; margin-top: 7px; }
.dialog-header>.icon-button { color: #baa58f; }
.dialog-body { padding: 26px 30px; }
.dialog-footer { background: #fff; border-color: #f2ede6; padding: 21px 30px 26px; border-radius: 0 0 34px 34px; }
.field label { color: #95816c; font-size: 12px; }
.field label>small { color: #bfad99; font-size: 10px; }
.field input:not([type=checkbox]),.field textarea,.field select { width: 100%; border: 0; background: #f8f5f1; padding: 14px 16px; border-radius: 16px; color: #9a8066; font-size: 12px; }
.field input::placeholder,.field textarea::placeholder { color: #c3b39f; }
.field input:focus,.field textarea:focus,.field select:focus { background: #fbf8f4; box-shadow: 0 0 0 2px #e1cfbc; }
.field-hint { color: #bba68f; font-size: 10px; line-height: 1.9; }
.field-hint.preset-warning { background: #fff0e4; padding: 10px 13px; border-radius: 12px; color: #b2875a; }
.form-error { border-radius: 14px; background: #fff2e8; color: #b48760; }
.role-summary { background: #f9f5ef; color: #9a7d60; border-radius: 20px; padding: 20px 22px; font-size: 13px; }
.section-caption { font-size: 11px; color: #b99e82; margin-top: 25px; }
.detail-list { color: #ac9073; font-size: 12px; }
.glossary-item { border: 0; background: #faf7f2; border-radius: 17px; padding: 16px; }
.glossary-item strong { color: #a08160; }
.glossary-item p { color: #b69d82; }
.requirements-table { color: #ad8b66; }
.requirements-table th { color: #c1a280; border-color: #f1e5d7; }
.requirements-table td { border-color: #f5ece0; padding: 14px 8px; }
.requirement-source { color: #c4a887; }
.original-details { border-color: #f2e5d6; padding-top: 18px; }
.original-details summary { color: #b59672; font-size: 11px; }
.original-text { border: 0; background: #fbf7f1; color: #b2936f; border-radius: 17px; padding: 20px; }
.detail-score-hero { background: #faf4eb; border: 0; border-radius: 22px; padding: 23px; gap: 26px; }
.detail-score-big .score-number { color: #88633e; }
.detail-score-big .score-label { color: #bfa07d; }
.detail-score-text { border-color: #eedecc; }
.detail-score-text p { color: #ab8861; }
.coverage-metrics { gap: 12px; }
.metric { border: 0; background: #faf6f0; border-radius: 16px; padding: 15px 17px; }
.metric span { color: #bda181; }
.metric strong { color: #a88358; }
.criterion { border-color: #f4e9dc; padding: 20px 0; }
.criterion-header h4 { color: #a78358; }
.criterion-weight { color: #c5ac8b; }
.criterion p { color: #b99c77; }
.evidence { border: 0; border-left: 3px solid #e5c6a2; background: #faf5ed; border-radius: 0 13px 13px 0; padding: 14px 17px; color: #b59264; }
.evidence span { color: #c9ae89; }
.question-hint { color: #b7976e; }
.match-detail-foot { color: #cfb795; font-size: 9px; }
.allmatch-row { border-color: #f4e8d7; }
.about-copy { color: #b19571; }
.about-copy h3 { color: #a1845d; }
.inline-help { background: #faf5ed; border-radius: 16px; padding: 16px 18px; color: #b59a73; }
.login-icon { background: #fff0e0; color: #d0a476; border-radius: 17px; }
.edit-weight { border: 0; background: #f8f1e6; color: #b08d5a; border-radius: 8px; padding: 7px; }
.requirements-edit-footer { color: #c3ab88; }
.job-unanalyzed { border-radius: 20px; background: #f9f4eb; color: #b0946d; padding: 22px; }
.toast { border: 0; border-radius: 20px; box-shadow: 0 5px 25px #45311814; color: #9e7f51; padding: 14px 22px; }
.toast.error { background: #fff6e8; color: #b28c57; }
.text-button { color: #b18e60; }
@keyframes gentle-float { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-6px) rotate(1deg); } }
@media (max-width: 1100px) {
  .hero-visual { margin-right: 4px; width: 260px; }
  .clay-illustration { width: 240px; height: 217px; }
  .intro { padding: 38px 40px; }
  .panel-heading { padding: 25px 22px 19px; }
  .step-label { gap: 10px; }
  .step-label h2 { font-size: 17px; }
  .panel-heading .button-small { padding: 9px 12px; }
  .panel-actions { gap: 3px; }
  .select-toolbar { margin: 0 22px; }
  .item-list { padding: 0 22px; }
  .dropzone { margin-left: 22px; margin-right: 22px; }
  .panel-footnote { padding-left: 22px; padding-right: 22px; }
  .result-card-heading { padding: 22px 22px 17px; }
  .match-list { padding: 0 22px; }
  .result-card-footer { padding-left: 22px; padding-right: 22px; }
  .match-row { gap: 7px; }
  .match-score { min-width: 80px; }
  .input-panel { min-height: 500px; }
}
@media (max-width: 760px) {
  .topbar { height: 79px; padding: 0 21px; }
  .brand-mark { width: 37px; height: 37px; border-radius: 13px; }
  .brand-name { font-size: 21px; }
  .header-actions { gap: 5px; }
  .header-actions .button { padding: 10px 15px; font-size: 10px; }
  .shell { padding: 3px 16px 0; }
  .intro { min-height: 308px; padding: 31px 29px 29px; border-radius: 32px; margin-bottom: 18px; align-items: flex-start; }
  .eyebrow { font-size: 9px; letter-spacing: .04em; margin-bottom: 16px; }
  h1 { font-size: 31px; line-height: 1.4; }
  .intro-copy { font-size: 10px; line-height: 1.9; max-width: 260px; margin-top: 16px; }
  .intro-points { margin-top: 17px; font-size: 9px; gap: 10px; }
  .hero-visual { position: absolute; width: 143px; right: 7px; top: 54px; margin: 0; opacity: .95; }
  .clay-illustration { width: 143px; height: 130px; }
  .visual-caption { display: none; }
  .intro-content { max-width: 100%; }
  .intro h1 { max-width: 250px; }
  .mode-banner { border-radius: 19px; padding: 12px 17px; margin-bottom: 18px; gap: 7px; }
  .mode-banner strong { font-size: 10px; }
  .mode-banner .banner-copy { font-size: 9px; line-height: 1.8; }
  .mode-banner .banner-action { font-size: 10px; }
  .service-banner { border-radius: 22px; padding: 17px 20px; }
  .service-banner strong { font-size: 11px; }
  .input-grid { gap: 18px; }
  .panel { border-radius: 30px; }
  .input-panel { min-height: 0; }
  .panel-heading { padding: 24px 21px 19px; gap: 10px; }
  .step-number { width: 30px; height: 30px; min-width: 30px; font-size: 10px; }
  .step-label h2 { font-size: 16px; }
  .step-label p { font-size: 10px; margin-top: 5px; }
  .panel-actions { gap: 1px; }
  .panel-heading .button-small { padding: 9px 10px; font-size: 10px; }
  .panel-heading .button-small .icon { width: 13px; height: 13px; }
  .select-toolbar { margin: 0 21px; font-size: 9px; }
  .item-list { padding: 0 21px; max-height: 279px; }
  .item-card { padding: 17px 0; min-height: 78px; }
  .item-title { font-size: 12px; }
  .item-summary { font-size: 9px; }
  .item-actions .danger { opacity: 1; width: 24px; }
  .item-action-label { font-size: 9px; }
  .panel-footnote { padding: 14px 21px; font-size: 8px; }
  .dropzone { margin: 0 21px 8px; border-radius: 23px; min-height: 181px; }
  .dropzone-help { font-size: 8px; }
  .dropzone-detail { font-size: 8px; }
  .resumes-list { max-height: 199px; }
  .resumes-list .item-card { padding: 12px 0; min-height: 67px; }
  .run-panel { border-radius: 26px; margin-top: 18px; padding: 22px; gap: 15px; }
  .run-panel .step-label h2 { font-size: 15px; }
  .run-panel .step-label p { font-size: 9px; }
  .run-actions { margin-left: auto; }
  .run-actions .button { min-width: 137px; font-size: 11px; padding: 14px 17px; }
  .run-actions .button>.icon { width: 15px; height: 15px; }
  .run-actions .button>.icon:last-child { display: none; }
  .results-section { margin-top: 30px; }
  .results-heading h2 { font-size: 21px; }
  .results-heading p { font-size: 9px; line-height: 1.9; max-width: 250px; }
  .results-heading .button { font-size: 10px; padding: 10px 12px; }
  .results-count { font-size: 9px; }
  .results-tools { margin: 18px 0; gap: 14px; }
  .segmented button { padding: 8px 15px; font-size: 10px; }
  .search-control input { font-size: 10px; }
  .sort-control select { width: 128px; font-size: 9px; }
  .results-grid { gap: 18px; }
  .result-card { border-radius: 28px; }
  .result-card-heading { padding: 23px 23px 17px; }
  .match-list { padding: 0 23px; }
  .match-row { gap: 9px; padding: 17px 0; }
  .match-score { min-width: 81px; }
  .match-title { font-size: 11px; }
  .badge { font-size: 8px; }
  .score-number { font-size: 23px; }
  .result-card-footer { padding: 14px 23px 17px; font-size: 8px; }
  .result-card-footer .text-button { font-size: 8px; }
  .results-empty { border-radius: 28px; min-height: 250px; }
  .scoring-note { font-size: 8px; line-height: 2; }
  .footer { font-size: 8px; }
  .footer-brand { font-size: 11px; }
  .dialog { border-radius: 28px; max-height: calc(100dvh - 24px); }
  .dialog-header { padding: 23px 23px 19px; }
  .dialog-header h2 { font-size: 17px; }
  .dialog-header p { font-size: 10px; }
  .dialog-body { padding: 22px 23px; }
  .dialog-footer { padding: 19px 23px 23px; gap: 7px; border-radius: 0 0 28px 28px; flex-wrap: wrap; }
  .dialog-footer .button { font-size: 11px; padding: 12px 17px; }
  .field input:not([type=checkbox]),.field textarea,.field select { font-size: 12px; padding: 13px 14px; }
  .field label { font-size: 11px; }
  .field label>small { display: block; margin: 3px 0 0; font-size: 9px; }
  .field-hint { font-size: 9px; }
  .detail-score-hero { gap: 17px; padding: 20px 17px; border-radius: 20px; }
  .detail-score-text { padding-left: 17px; }
  .detail-score-text p { font-size: 10px; }
  .detail-score-big { min-width: 85px; }
  .coverage-metrics { gap: 8px; }
  .metric { padding: 12px 10px; border-radius: 14px; }
  .metric span { font-size: 8px; }
  .metric strong { font-size: 17px; }
  .role-summary { font-size: 12px; padding: 18px; }
  .section-caption { font-size: 10px; }
  .detail-list { font-size: 11px; }
  .requirements-table { font-size: 10px; }
  .requirement-source { font-size: 9px; }
  .evidence { padding: 12px 14px; font-size: 10px; }
}
@media (max-width: 390px) {
  .hero-visual { right: -7px; width: 128px; top: 61px; }
  .clay-illustration { width: 128px; height: 116px; }
  .intro { padding-left: 24px; }
  h1 { font-size: 29px; }
  .panel-heading .step-label { gap: 8px; }
  .panel-heading .step-number { display: none; }
  .panel-heading .button-small { padding-left: 9px; padding-right: 9px; }
  .run-actions .button { min-width: 128px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Neutral reading contrast; coral is reserved for accents and illustrations. */
:root { --muted: #828282; }
.intro-copy { color: #909090; font-size: 13px; }
.mode-banner { background: #e5e5e5; color: #818181; }
.mode-banner strong { color: #777; }
.mode-banner .banner-copy { color: #929292; }
.mode-banner .banner-action { color: #9b7666; }
.panel-heading .step-label p { color: #999; }
.select-toolbar { font-size: 11px; color: #999; }
.check-label { color: #999; }
.item-title { font-size: 13px; color: #525252; }
.item-summary { font-size: 11px; color: #a0a0a0; }
.item-action-label { color: #9a9a9a; font-size: 11px; }
.item-category { background: #f4f4f4; color: #9f9f9f; }
.panel-footnote { color: #aaa; font-size: 10px; }
.dropzone-title { font-size: 13px; color: #7e7e7e; }
.dropzone-help,.dropzone-detail { color: #a9a9a9; font-size: 10px; }
.resume-meta { color: #aaa; font-size: 10px; }
.run-hint { color: #aaa; font-size: 11px; }
.run-panel .step-label p { font-size: 12px; color: #949494; }
.task-progress-header { color: #999; font-size: 12px; }
.task-progress-header strong { color: #777; }
.results-heading p { color: #9a9a9a; font-size: 11px; }
.results-heading .button-outline { color: #8b8b8b; }
.results-count { color: #aaa; font-size: 11px; }
.segmented button { color: #969696; font-size: 12px; }
.segmented button.active { color: #4d4d4d; }
.search-control { color: #aaa; }
.search-control input { color: #777; font-size: 11px; }
.search-control input::placeholder { color: #aaa; }
.sort-control select { color: #929292; font-size: 11px; }
.candidate-avatar { background: #f4efeb; color: #b28c76; }
.result-title { color: #4b4b4b; font-size: 13px; }
.result-subtitle { color: #a5a5a5; font-size: 10px; }
.match-title { color: #666; font-size: 12px; }
.match-rank { color: #c2c2c2; font-size: 10px; }
.badge { font-size: 9px; background: #f5f5f5; color: #999; }
.badge.neutral { background: #f3f3f3; color: #999; }
.badge.supported { background: #eff6ef; color: #829a7c; }
.badge.warning { color: #aa946d; }
.badge.unmet { color: #bd8c78; }
.score-label { font-size: 9px; color: #aaa; }
.score-number { color: #494949; font-size: 26px; }
.score-number small { color: #bbb; font-size: 10px; }
.score-bar { background: #f4efec; }
.score-bar span { background: #e6b19d; }
.result-card-footer { color: #b1b1b1; font-size: 10px; }
.result-card-footer .text-button { color: #a68b78; font-size: 10px; }
.scoring-note { color: #a1a1a1; font-size: 10px; }
.scoring-note strong { color: #8e8e8e; }
.scoring-note .icon { color: #aaa; }
.footer { color: #aaa; border-color: #dedede; font-size: 10px; }
.footer-brand { color: #989898; }
.footer .text-button { color: #999; }
.dialog-header { border-color: #f1f1f1; }
.dialog-header h2 { color: #2e2e2e; }
.dialog-header p { color: #9b9b9b; font-size: 12px; }
.dialog-header>.icon-button { color: #aaa; }
.dialog-footer { border-color: #f1f1f1; }
.field label { color: #767676; }
.field label>small { color: #aaa; }
.field input:not([type=checkbox]),.field textarea,.field select { background: #f6f6f6; color: #686868; font-size: 13px; }
.field input::placeholder,.field textarea::placeholder { color: #b1b1b1; }
.field input:focus,.field textarea:focus,.field select:focus { background: #fafafa; box-shadow: 0 0 0 2px #dbc3b6; }
.field-hint { color: #999; font-size: 11px; }
.role-summary { background: #f7f5f3; color: #74706d; font-size: 14px; }
.section-caption { color: #a2978e; font-size: 12px; }
.detail-list { color: #8b8177; font-size: 13px; }
.glossary-item { background: #f8f6f3; }
.glossary-item strong { color: #8a7765; font-size: 13px; }
.glossary-item p { color: #a1978b; font-size: 12px; }
.requirements-table { color: #887b6d; font-size: 12px; }
.requirements-table th { color: #a59b8f; border-color: #eee9e2; font-size: 11px; }
.requirements-table td { border-color: #f2ede7; }
.requirement-source { color: #b3a89b; font-size: 11px; }
.original-details { border-color: #eee9e3; }
.original-details summary { color: #9d8e7c; font-size: 12px; }
.original-text { background: #f8f6f2; color: #928474; font-size: 12px; }
.detail-score-hero { background: #f8f5ef; }
.detail-score-big .score-number { color: #5f5549; }
.detail-score-big .score-label { color: #a39684; font-size: 11px; }
.detail-score-text { border-color: #e8e1d6; }
.detail-score-text p { color: #928470; font-size: 13px; }
.metric { background: #f8f6f2; }
.metric span { color: #a69c8d; font-size: 11px; }
.metric strong { color: #8a7b65; }
.criterion { border-color: #f0ebe3; }
.criterion-header h4 { color: #8d7a5f; font-size: 13px; }
.criterion-weight { color: #b1a591; font-size: 11px; }
.criterion p { color: #a19580; font-size: 12px; }
.evidence { margin-left: 0; margin-right: 0; background: #f8f5ef; border-color: #dbccb3; color: #9c8a6c; font-size: 12px; }
.evidence span { color: #b4a78f; font-size: 10px; }
.question-hint { color: #a08e70; font-size: 12px; }
.match-detail-foot { color: #b9ad94; font-size: 10px; }
.about-copy { color: #9b8e75; font-size: 13px; }
.about-copy h3 { color: #8b7d62; font-size: 14px; }
.inline-help { background: #f8f5ef; color: #a2957c; font-size: 12px; }
.edit-weight { background: #f7f3eb; color: #9a896b; }
.requirements-edit-footer { color: #b1a58b; }
.job-unanalyzed { background: #f8f5ee; color: #a49779; font-size: 13px; }
.toast { color: #8f8062; font-size: 12px; }
.insufficient-notice { display: flex; align-items: center; gap: 7px; background: #fbf6ee; color: #a49477; padding: 11px 16px; margin: 16px 25px 0; border-radius: 13px; font-size: 11px; line-height: 1.8; }
.insufficient-notice .icon { width: 14px; height: 14px; }
.delete-confirm { text-align: center; padding: 0 0 10px; }
.delete-illustration { width: 146px; height: 146px; margin: -12px auto 15px; overflow: visible; }
.delete-confirm h3 { color: #67615a; font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.delete-confirm p { color: #aba198; font-size: 12px; line-height: 1.9; margin-top: 12px; }
.deletion-dialog .dialog-header { border: 0; padding-bottom: 12px; }
.deletion-dialog .dialog-header h2 { font-size: 18px; }
.deletion-dialog .dialog-body { padding-top: 0; }
.deletion-dialog .dialog-footer { border: 0; justify-content: stretch; padding-top: 5px; }
.deletion-dialog .dialog-footer>.button { flex: 1; padding-top: 15px; padding-bottom: 15px; }
.missing-evidence { color: #b0a89d !important; }
.resume-original { max-height: 55vh; }
.copy-spacer { margin-top: 14px; }
@media (max-width: 760px) {
  .intro-copy { font-size: 11px; }
  .item-title { font-size: 12px; }
  .item-summary { font-size: 10px; }
  .item-action-label { font-size: 10px; }
  .panel-footnote { font-size: 9px; }
  .dropzone-title { font-size: 12px; }
  .dropzone-help,.dropzone-detail { font-size: 9px; }
  .resume-meta { font-size: 9px; }
  .run-panel .step-label p { font-size: 10px; }
  .results-heading p { font-size: 10px; }
  .results-count { font-size: 10px; }
  .segmented button { font-size: 11px; }
  .sort-control select { font-size: 10px; }
  .result-title { font-size: 12px; }
  .result-subtitle { font-size: 9px; }
  .match-title { font-size: 11px; }
  .badge { font-size: 8px; }
  .score-label { font-size: 8px; }
  .score-number { font-size: 24px; }
  .score-number small { font-size: 9px; }
  .result-card-footer,.result-card-footer .text-button { font-size: 9px; }
  .scoring-note { font-size: 9px; }
  .footer { font-size: 9px; }
  .dialog-header p { font-size: 11px; }
  .field input:not([type=checkbox]),.field textarea,.field select { font-size: 12px; }
  .field-hint { font-size: 10px; }
  .role-summary { font-size: 13px; }
  .section-caption { font-size: 11px; }
  .detail-list { font-size: 12px; }
  .glossary-item strong { font-size: 12px; }
  .glossary-item p { font-size: 11px; }
  .requirements-table { font-size: 11px; }
  .requirements-table th { font-size: 10px; }
  .requirement-source { font-size: 10px; }
  .original-details summary,.original-text { font-size: 11px; }
  .detail-score-text p { font-size: 11px; }
  .metric span { font-size: 9px; }
  .criterion-header h4 { font-size: 12px; }
  .criterion-weight { font-size: 10px; }
  .criterion p,.evidence,.question-hint { font-size: 11px; }
  .match-detail-foot { font-size: 9px; }
  .about-copy { font-size: 12px; }
  .about-copy h3 { font-size: 13px; }
  .inline-help { font-size: 11px; }
  .insufficient-notice { font-size: 10px; margin-left: 23px; margin-right: 23px; padding: 10px 13px; }
}

/* Reading contrast is kept consistent across the workspace and dialogs. */
:root { --muted: #808080; }
.intro-copy,
.step-label p,
.panel-heading .step-label p,
.run-panel .step-label p,
.results-heading p,
.mode-banner .banner-copy,
.item-summary,
.task-progress-header,
.field-hint,
.dialog-header p,
.detail-list,
.glossary-item p,
.requirements-table,
.original-text,
.criterion p,
.question-hint,
.about-copy,
.inline-help,
.job-unanalyzed,
.detail-score-text p,
.role-summary,
.delete-confirm p { color: #686868; }
.brand-tagline,
.connection-status,
.select-toolbar,
.check-label,
.item-action-label,
.panel-footnote,
.dropzone-help,
.dropzone-detail,
.resume-meta,
.run-hint,
.results-count,
.result-subtitle,
.score-label,
.score-number small,
.result-card-footer,
.scoring-note,
.scoring-note .icon,
.footer,
.footer .text-button,
.field label>small,
.section-caption,
.requirements-table th,
.requirement-source,
.criterion-weight,
.metric span,
.evidence span,
.match-detail-foot,
.requirements-edit-footer,
.detail-score-big .score-label,
.missing-evidence,
.result-card-footer .text-button,
.visual-caption,
.intro-points { color: #808080; }
.mode-banner strong { color: #686868; }
.field label,
.task-progress-header strong,
.glossary-item strong,
.criterion-header h4,
.about-copy h3,
.metric strong,
.original-details summary { color: #575757; }
.field input::placeholder,
.field textarea::placeholder,
.search-control input::placeholder { color: #909090; }
.search-control input,
.sort-control select { color: #737373; }
.match-title,
.result-title,
.item-title { color: #535353; }
.badge { color: #808080; }
.badge.neutral { color: #808080; }
.badge.supported { color: #597e5b; }
.badge.warning { color: #957843; }
.badge.unmet { color: #aa6c55; }
.evidence { color: #766b5d; }
.insufficient-notice { color: #8b795c; }
.missing-evidence { color: #808080 !important; }
@media (max-width: 760px) {
  .hero-visual { top: 57px; right: 4px; }
  .intro h1 { max-width: 235px; }
}
.upload-errors h4 { color: #8c785d; font-size: 11px; font-weight: 550; margin-bottom: 5px; }
.upload-errors h4:not(:first-child) { margin-top: 12px; }
.parse-warning-box { display: flex; align-items: flex-start; gap: 9px; background: #fbf4e8; color: #927d5b; border-radius: 16px; padding: 14px 17px; margin: 16px 0; font-size: 11px; line-height: 1.9; }
.parse-warning-box>.icon { width: 15px; height: 15px; margin-top: 3px; }
.parse-warning-box strong { font-weight: 550; display: block; margin-bottom: 3px; }
.parse-warning-box p+p { margin-top: 4px; }

/* Motion from the reference clips: sliding segments, soft expansion, quiet feedback. */
html { scrollbar-gutter: stable; }
body.modal-open { overflow: hidden; }
.segmented { position: relative; display: grid; grid-template-columns: 1fr 1fr; isolation: isolate; }
.segmented::before { content: ""; position: absolute; z-index: -1; left: 4px; top: 4px; bottom: 4px; width: calc((100% - 10px)/2); border-radius: 999px; background: #fff; box-shadow: 0 2px 5px #20202008; transition: transform .34s cubic-bezier(.25,.9,.25,1.12); }
.segmented[data-active="job"]::before { transform: translateX(calc(100% + 2px)); }
.segmented button { justify-content: center; position: relative; transition: color .2s ease,transform .2s var(--spring); }
.segmented button.active { background: transparent; box-shadow: none; }
.segmented button:active { transform: scale(.96); }
.result-card { transition: box-shadow .3s ease; }
.match-row,.allmatch-row { transition: background-color .2s ease; }
.match-title { display: block; max-width: 100%; }
.match-description { min-width: 0; }
.match-row>.icon,.allmatch-row>.icon { transition: transform .25s var(--spring),color .2s ease; }
.match-row:active,.allmatch-row:active { background: #faf7f4; }
.score-bar>span { transform-origin: left center; }
.result-card-footer { gap: 10px; }
.result-card-footer .text-button { white-space: nowrap; }
.item-card { transition: background-color .2s ease; }
.icon-button,.item-action-label,.text-button,.banner-action { transition: color .2s ease,background .2s ease,transform .2s var(--spring); }
.icon-button:active,.item-action-label:active,.text-button:active,.banner-action:active { transform: scale(.96); }
.dropzone { position: relative; overflow: hidden; transition: background .25s ease,box-shadow .25s ease,transform .3s var(--spring); }
.dropzone.dragover { background: #fff4ed; box-shadow: inset 0 0 0 2px #e7b49f; transform: scale(1.012); }
.dropzone.dragover .upload-illustration svg { transform: translateY(-6px) rotate(-4deg) scale(1.06); }
.dropzone.is-reading { opacity: 1; cursor: progress; background: #f9f5f1; }
.dropzone.is-reading .upload-illustration svg { animation: file-reading 2.2s ease-in-out infinite; }
.dropzone.is-reading::after { content: ""; position: absolute; left: 20%; right: 20%; bottom: 9px; height: 2px; border-radius: 4px; background: #e5baaa; animation: reading-breath 1.8s ease-in-out infinite; }
.input-panel.is-uploading .step-number { background: #f5e9e1; transition: background .25s ease; }
.task-progress { border-radius: 0 0 16px 16px; }
.task-progress-header>div { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.task-progress-header strong { overflow-wrap: anywhere; }
.progress-track>span { transition: width .5s cubic-bezier(.22,1,.36,1),background-color .3s ease; }
.task-progress.is-active .pending-dot { animation: task-breath 1.8s ease-in-out infinite; }
.task-progress.is-complete .progress-track>span { background: #7da587; }
.task-progress.is-complete .task-progress-header strong { color: #5a8063; }
.task-complete-icon { width: 16px; height: 16px; color: #739a7d; margin-right: 4px; }
.sort-control { position: relative; flex-shrink: 0; }
.sort-button { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 39px; min-width: 145px; padding: 10px 14px 10px 17px; border: 0; border-radius: 999px; background: #ffffffb3; color: #737373; font-size: 11px; transition: background .2s ease,transform .22s var(--spring); }
.sort-button:hover,.sort-button[aria-expanded="true"] { background: #fff; }
.sort-button:active { transform: scale(.97); }
.sort-button .icon { height: 12px; width: 12px; transform: rotate(90deg); transition: transform .25s var(--spring); }
.sort-button[aria-expanded="true"] .icon { transform: rotate(-90deg); }
.sort-menu { position: absolute; z-index: 8; top: calc(100% + 9px); right: 0; width: 205px; padding: 9px; background: #fff; border-radius: 22px; box-shadow: 0 12px 35px #2b242314,0 2px 5px #25212005; transform-origin: top right; }
.sort-menu.is-closing { pointer-events: none; }
.sort-menu button { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 12px 13px; border: 0; border-radius: 15px; text-align: left; font-size: 12px; color: #808080; background: transparent; transition: background .2s ease,color .2s ease,transform .2s var(--spring); }
.sort-menu button:hover,.sort-menu button:focus-visible { background: #f6f3f0; color: #595959; outline: none; }
.sort-menu button[aria-checked="true"] { color: #896e60; }
.sort-menu button .icon { opacity: 0; width: 15px; height: 15px; color: #bb927d; }
.sort-menu button[aria-checked="true"] .icon { opacity: 1; }
.dialog { transform-origin: center; overscroll-behavior: contain; }
.dialog::backdrop { animation: veil-in .25s ease both; }
.dialog.is-closing { pointer-events: none; }
.dialog.is-closing::backdrop { animation: veil-out .24s ease both; }
.dialog-header h2 { overflow-wrap: anywhere; }
.sheet-handle { display: none; }
.edit-weight { max-width: 100%; }
@media (hover: hover) and (pointer: fine) {
  .result-card:hover { box-shadow: 0 7px 24px #22222204; }
  .match-row:hover>.icon,.allmatch-row:hover>.icon { transform: translateX(3px); color: #b79783; }
  .item-card:hover { background: #fdfcfb; }
  .brand-mark { transition: transform .3s var(--spring); }
  .brand:hover .brand-mark { transform: rotate(-4deg); }
}
@keyframes veil-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes veil-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes file-reading { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes reading-breath { 0%,100% { opacity: .3; transform: scaleX(.65); } 50% { opacity: .75; transform: scaleX(1); } }
@keyframes task-breath { 0%,100% { opacity: .85; box-shadow: 0 0 0 0 #e2bca42b; } 50% { opacity: .45; box-shadow: 0 0 0 4px #e2bca400; } }
@media (max-width: 760px) {
  .dialog,.dialog-wide,.dialog-narrow { position: fixed; inset: auto 0 0; margin: 0 auto; width: 100%; max-width: 100%; max-height: min(92dvh,850px); border-radius: 29px 29px 0 0; }
  .dialog-header { padding-top: 30px; border-radius: 29px 29px 0 0; }
  .sheet-handle { display: block; position: absolute; top: 11px; left: 50%; width: 32px; height: 4px; transform: translateX(-50%); background: #dedbd8; border-radius: 99px; pointer-events: none; }
  .dialog-footer { padding-bottom: max(25px,env(safe-area-inset-bottom)); border-radius: 0; }
  .deletion-dialog .dialog-header { padding-top: 30px; }
  .deletion-dialog .dialog-body { padding-top: 4px; }
  .sort-button { min-width: 133px; font-size: 10px; padding: 11px 12px 11px 14px; gap: 8px; }
  .sort-menu { width: 192px; border-radius: 20px; }
  .sort-menu button { font-size: 11px; }
  .task-progress-header { font-size: 10px; align-items: flex-start; }
  .task-progress-header>.text-button { flex-shrink: 0; margin-top: 2px; }
  .match-title { font-size: 11px; }
  .dialog-body { overflow-wrap: anywhere; }
  .requirements-table { table-layout: fixed; }
  .requirements-table th:nth-child(2) { width: 62px; }
  .requirements-table th:nth-child(3) { width: 73px; }
  .requirements-table td { overflow-wrap: anywhere; }
  .requirements-table .edit-weight { width: 49px; padding-left: 4px; padding-right: 4px; }
}
@media (max-width: 540px) {
  .hero-visual { width: 90px; top: 20px; right: 16px; }
  .clay-illustration { width: 90px; height: 82px; }
  .intro h1 { max-width: none; }
  .intro { min-height: 308px; }
}
@media (max-width: 380px) {
  .topbar { padding-left: 18px; padding-right: 18px; gap: 8px; }
  .header-actions .button { padding: 10px 12px; font-size: 9px; }
  .hero-visual { width: 82px; top: 21px; right: 12px; }
  .clay-illustration { width: 82px; height: 75px; }
  .match-list { padding-left: 19px; padding-right: 19px; }
  .match-score { min-width: 74px; }
  .match-row { gap: 7px; }
  .result-card-footer { padding-left: 19px; padding-right: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .dropzone.dragover,.dropzone:hover .upload-illustration svg { transform: none; }
}
/* Small labels retain contrast on the pale surfaces. */
.select-toolbar,.check-label,.item-action-label,.panel-footnote,
.dropzone-help,.dropzone-detail,.resume-meta,.run-hint,
.results-count,.result-subtitle,.score-label,.score-number small,
.result-card-footer,.scoring-note,.footer,.field-hint,
.field label>small,.requirements-table th,.requirement-source,
.criterion-weight,.metric span,.evidence span,.match-detail-foot,
.requirements-edit-footer,.badge.neutral { color: #737373; }

/* Compact recruitment workspace. Supporting detail stays inside the detail views. */
.topbar { height: 80px; }
.shell { padding-top: 4px; padding-bottom: 38px; }
.intro { min-height: 172px; padding: 24px 38px; margin-bottom: 20px; align-items: center; }
.intro h1 { font-size: 34px; line-height: 1.35; }
.intro-copy { margin-top: 8px; font-size: 12px; line-height: 1.6; color: #737373; }
.hero-visual { width: 180px; margin: -8px 10px -8px 0; }
.clay-illustration { width: 160px; height: 145px; }
.mode-banner { margin-bottom: 20px; padding: 11px 18px; }
.service-banner { padding: 14px 20px; margin-bottom: 20px; font-size: 12px; }
.input-panel { min-height: 396px; }
.panel-heading { padding: 23px 25px 18px; }
.select-toolbar { margin-left: 25px; margin-right: 25px; }
.item-list { padding-left: 25px; padding-right: 25px; max-height: 310px; }
.item-card { align-items: center; min-height: 62px; padding-top: 14px; padding-bottom: 14px; }
.item-card>.check-label { padding-top: 0; }
.dropzone { margin-left: 25px; margin-right: 25px; min-height: 156px; padding-top: 12px; padding-bottom: 14px; }
.upload-illustration { height: 52px; }
.upload-illustration svg { width: 75px; height: 68px; }
.resumes-list { max-height: 160px; }
.list-empty { min-height: 210px; }
.resumes-list .list-empty { min-height: 95px; }
.run-panel { margin-top: 20px; padding: 21px 28px; }
.results-section { margin-top: 32px; }
.results-heading { align-items: center; }
.result-card-footer { justify-content: flex-end; padding-top: 12px; padding-bottom: 14px; }
.results-empty { min-height: 190px; }
.results-empty .empty-visual { margin-bottom: 16px; }
@media (max-width: 760px) {
  .topbar { height: 72px; }
  .shell { padding-top: 2px; padding-bottom: 26px; }
  .intro { min-height: 140px; padding: 24px 26px; margin-bottom: 17px; }
  .intro h1 { font-size: 29px; max-width: none; }
  .intro-copy { font-size: 11px; margin-top: 7px; }
  .hero-visual { position: absolute; top: 17px; right: 17px; width: 112px; margin: 0; }
  .clay-illustration { width: 112px; height: 102px; }
  .mode-banner { align-items: center; margin-bottom: 17px; padding: 11px 16px; flex-wrap: nowrap; }
  .service-banner { padding: 13px 18px; font-size: 11px; }
  .input-panel { min-height: 0; }
  .panel-heading { padding: 22px 21px 17px; }
  .select-toolbar { margin-left: 21px; margin-right: 21px; }
  .item-list { padding-left: 21px; padding-right: 21px; max-height: 264px; }
  .item-card { min-height: 59px; padding-top: 13px; padding-bottom: 13px; }
  .dropzone { margin-left: 21px; margin-right: 21px; min-height: 151px; }
  .resumes-list { max-height: 158px; }
  .resumes-list .item-card { min-height: 63px; }
  .run-panel { padding: 20px 22px; margin-top: 18px; }
  .results-section { margin-top: 28px; }
  .result-card-footer { padding-top: 11px; padding-bottom: 14px; }
  .results-empty { min-height: 180px; }
}
@media (max-width: 380px) {
  .hero-visual { right: 12px; width: 96px; top: 24px; }
  .clay-illustration { width: 96px; height: 87px; }
  .intro { padding-left: 23px; }
  .intro h1 { font-size: 28px; }
}
