:root{--ink:#16181d;--canvas:#fafaf9;--paper:#fff;--blue:oklch(48% .1 258);--blue-dark:oklch(42% .1 258);--green:oklch(55% .12 155);--line:#16181d14;--line-strong:#16181d1f;--muted:#16181d8c;--soft:#16181d66;--danger:#ad4141;--sans:"Noto Sans SC", "Microsoft YaHei", sans-serif;--serif:"Noto Serif SC", "Songti SC", SimSun, serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);min-width:320px;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:var(--ink);text-decoration:none}a:hover{color:var(--blue)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fafaf9d9;border-bottom:1px solid #16181d12;height:64px;position:sticky;top:0}.nav-shell,main,footer{width:min(1120px,100% - 64px);margin:0 auto}.nav-shell{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:12px;font-size:15px;font-weight:600;display:flex}.brand-mark{background:var(--ink);border-radius:7px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.brand-mark i{background:var(--canvas);border-radius:2px;width:8px;height:8px;transform:rotate(45deg)}.nav-links{align-items:center;gap:36px;display:flex}.nav-links a{color:#16181d80;font-size:13.5px;transition:color .2s}.nav-links a.active,.nav-links a:hover{color:var(--ink)}.avatar{border:1px solid var(--line);background:linear-gradient(135deg,#e8e6e1,#d6d3cc);border-radius:50%;width:32px;height:32px}main{padding-bottom:96px}.hero{padding:88px 0 64px;animation:.9s cubic-bezier(.16,1,.3,1) both fadeUp}.product-pill{border:1px solid var(--line-strong);color:#16181d99;letter-spacing:.08em;border-radius:999px;align-items:center;gap:8px;margin-bottom:28px;padding:6px 14px;font-size:12px;display:inline-flex}.product-pill i{background:var(--blue);border-radius:50%;width:6px;height:6px;animation:2.4s ease-in-out infinite pulseDot}.hero h1{font:700 52px/1.25 var(--serif);letter-spacing:.01em;text-wrap:pretty;margin:0 0 20px}.hero p{max-width:650px;color:var(--muted);text-wrap:pretty;margin:0;font-size:16px;line-height:1.8}.workspace{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px;display:grid}.work-card,.analysis-card,.candidate-card,.report-card,.help-card{background:var(--paper);border:1px solid var(--line);border-radius:16px}.work-card{min-height:544px;padding:32px;animation:.9s cubic-bezier(.16,1,.3,1) .12s both fadeUp}.upload-panel{flex-direction:column;animation-delay:.22s;display:flex}.section-heading{align-items:baseline;gap:12px;margin-bottom:26px;display:flex}.section-number{color:#16181d59;font:700 13px/1 var(--serif);letter-spacing:.1em}.section-heading h2{margin:0;font-size:17px;font-weight:600}.section-heading p{display:none}.file-count{color:#16181d73;margin-left:auto;font-size:12.5px}.upload-meta{align-items:center;gap:10px;margin-left:auto;display:flex}.upload-meta .file-count{margin-left:0}.cache-clear-btn{border:1px solid var(--line);background:var(--paper);color:var(--soft);cursor:pointer;border-radius:7px;padding:5px 9px;font-size:10.5px}.cache-clear-btn:hover:not(:disabled){color:var(--ink);border-color:#16181d40}.cache-clear-btn:disabled{cursor:not-allowed;opacity:.55}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.field{flex-direction:column;gap:8px;margin:0;display:flex}.field>span{color:#16181d80;align-items:center;font-size:12.5px;display:flex}.field>span small{color:#16181d61;margin-left:3px}.field>span b{color:#16181d59;margin-left:auto;font-size:10px;font-weight:400}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;outline:0;transition:border-color .2s,box-shadow .2s}.field input,.field select{height:42px;padding:0 14px;font-size:14px}.field select{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#16181d59 50%),linear-gradient(135deg,#16181d59 50%,#0000 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-repeat:no-repeat;background-size:5px 5px}.field textarea{resize:vertical;min-height:88px;padding:12px 14px;font-size:14px;line-height:1.7}.field input:focus,.field select:focus,.field textarea:focus,.skill-editor:focus-within{border-color:oklch(48% .1 258/.5);box-shadow:0 0 0 3px oklch(48% .1 258/.08)}.form-grid,.skill-field{margin-bottom:18px}.skill-editor{border:1px solid var(--line-strong);background:var(--paper);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;min-height:51px;padding:8px 14px;transition:border-color .2s,box-shadow .2s;display:flex}.skill-tags{display:contents}.skill-tag{background:var(--ink);min-height:27px;color:var(--canvas);border-radius:7px;align-items:center;gap:7px;padding:5px 12px;font-size:12.5px;line-height:1.3;display:inline-flex}.skill-tag button{color:#fafaf9a6;cursor:pointer;background:0 0;border:0;padding:0;line-height:1}.skill-editor input{border:0;outline:0;flex:100px;min-width:80px;padding:4px 0;font-size:12.5px}.add-skill-btn{background:var(--paper);color:#16181d73;cursor:pointer;border:1px dashed #16181d40;border-radius:7px;padding:5px 12px;font-size:12.5px;transition:all .2s}.add-skill-btn:hover{color:#16181dcc;border-color:#16181d66}.privacy-note{display:none}.drop-zone{text-align:center;cursor:pointer;border:1.5px dashed #16181d2e;border-radius:12px;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px;padding:30px 20px;transition:all .25s;display:flex}.drop-zone:hover,.drop-zone.dragging{background:oklch(48% .1 258/.02);border-color:oklch(48% .1 258/.5)}.upload-plus{color:#16181d80;border:1px solid #16181d26;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;font-weight:300;display:flex}.drop-zone h3{margin:0;font-size:14px;font-weight:500}.drop-zone p{color:var(--soft);margin:0;font-size:12px}.file-list{gap:9px;max-height:248px;margin-bottom:10px;padding-right:3px;display:grid;overflow-y:auto}.file-item{border:1px solid var(--line);background:var(--paper);border-radius:10px;align-items:center;gap:12px;min-height:60px;padding:12px 14px;display:flex}.pdf-badge{width:34px;height:34px;color:var(--muted);letter-spacing:.05em;background:#f4f3f1;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:9.5px;font-weight:700;display:flex}.file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.file-info strong,.file-info small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-info strong{font-size:13.5px;font-weight:500}.file-info small{color:var(--soft);font-size:11.5px}.file-cache-status{color:var(--soft);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.file-cache-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.file-cache-status.hit{color:var(--blue-dark);background:oklch(48% .1 258/.08);border-radius:999px;padding:4px 8px;font-weight:700}.file-cache-status.miss,.file-cache-status.idle{color:var(--green)}.file-cache-status.checking:before{animation:1.1s ease-in-out infinite pulseDot}.file-cache-status.error{color:var(--danger)}.icon-btn{color:#16181d59;cursor:pointer;background:0 0;border:0;font-size:18px}.analyze-btn{background:var(--ink);width:100%;height:48px;color:var(--canvas);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;margin-top:auto;font-size:15px;font-weight:500;transition:all .25s;display:flex}.analyze-btn:not(:disabled):hover{background:#2c2f38;transform:translateY(-1px);box-shadow:0 8px 24px #16181d2e}.analyze-btn:disabled{opacity:.35;cursor:not-allowed}.analyze-btn.loading{pointer-events:none}.analyze-btn.loading .button-arrow{animation:1s ease-in-out infinite loadingArrow}.error,.warnings{color:var(--danger);background:#fff0f0;border-radius:10px;margin-top:12px;padding:11px 14px;font-size:12px;line-height:1.6}.analysis-card{margin-top:24px;padding:32px;animation:.9s cubic-bezier(.16,1,.3,1) .32s both fadeUp}.progress-heading{margin-bottom:28px}.analysis-status{color:var(--blue);align-items:center;gap:8px;margin-left:auto;font-size:12.5px;display:flex}.analysis-status>i{background:currentColor;border-radius:50%;width:6px;height:6px}.analysis-status.idle{color:#16181d59}.analysis-status.complete{color:var(--green)}.analysis-status.error{color:var(--danger)}.analysis-status.running>i{animation:1.8s ease-in-out infinite pulseDot}.progress-layout{grid-template-columns:300px 1fr;align-items:center;gap:40px;display:grid}.document-preview{background:#f7f6f4;border-radius:12px;justify-content:center;align-items:center;height:260px;display:flex;position:relative;overflow:hidden}.paper-sheet{background:var(--paper);border-radius:6px;width:168px;height:216px;padding:20px 18px;position:relative;overflow:hidden;box-shadow:0 2px 16px #16181d14}.paper-avatar{background:#e9e7e3;border-radius:50%;width:26px;height:26px;margin-bottom:14px;display:block}.paper-name,.paper-role{background:#dedcd7;border-radius:3px;width:56px;height:6px;position:absolute;top:25px;left:54px}.paper-role{background:#eceae6;width:38px;height:5px;top:35px}.paper-sheet i{background:#eceae6;border-radius:3px;height:5px;margin-bottom:7px;display:block}.paper-sheet i:first-of-type,.paper-sheet i:nth-of-type(6){width:100%}.paper-sheet i:nth-of-type(2){width:88%}.paper-sheet i:nth-of-type(3){background:oklch(48% .1 258/.28);width:62%}.paper-sheet i:nth-of-type(4){width:94%}.paper-sheet i:nth-of-type(5){background:oklch(48% .1 258/.28);width:74%}.paper-sheet i:nth-of-type(7){width:55%}.paper-sheet i:nth-of-type(8){background:oklch(48% .1 258/.28);width:82%}.paper-sheet i:nth-of-type(9){width:68%}.paper-sheet:after{content:"";opacity:0;background:linear-gradient(oklch(48% .1 258/0),oklch(48% .1 258/.12) 70%,oklch(48% .1 258/.45));border-bottom:1.5px solid oklch(48% .1 258/.8);height:44px;position:absolute;top:-18%;left:0;right:0}.document-preview.is-running .paper-sheet:after{opacity:1;animation:2.6s cubic-bezier(.45,0,.55,1) infinite scanY}.document-preview.is-complete .paper-sheet{box-shadow:0 0 0 1px oklch(55% .12 155/.18),0 8px 24px #16181d14}.progress-content{min-width:0}.progress-summary{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.progress-summary span{color:var(--muted);font-size:13.5px}.progress-summary strong{font:700 26px/1 var(--serif)}.progress-track{background:#eceae6;border-radius:3px;height:5px;margin-bottom:8px;overflow:hidden}.progress-track i{background:linear-gradient(90deg, var(--ink) 30%, var(--blue) 60%, var(--ink) 90%);background-size:200px 100%;border-radius:3px;width:0;height:100%;transition:width .6s;animation:1.6s linear infinite barShimmer;display:block}.progress-message{color:#16181d73;min-height:20px;margin:0 0 24px;font-size:12px}.progress-steps{grid-template-columns:1fr 1fr;gap:12px 32px;display:grid}.progress-step{border-bottom:1px solid #16181d0f;grid-template-columns:20px 1fr auto;align-items:center;gap:12px;min-height:41px;padding:10px 0;font-size:13.5px;display:grid}.progress-step>i{border:1.5px solid #16181d26;border-radius:50%;width:20px;height:20px}.progress-step small{color:var(--soft);font-size:12px}.progress-step.active>i{border-color:var(--blue);box-shadow:inset 0 0 0 5px var(--paper);background:var(--blue);animation:1.8s ease-in-out infinite pulseDot}.progress-step.active span{font-weight:500}.progress-step.active small{color:var(--blue)}.progress-step.done>i{border-color:var(--ink);background:var(--ink);position:relative}.progress-step.done>i:after{content:"✓";color:var(--canvas);place-items:center;font-size:11px;display:grid;position:absolute;inset:0}.result{margin-top:72px;scroll-margin-top:88px;animation:.9s cubic-bezier(.16,1,.3,1) both fadeUp}.result-title-row{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:32px;display:flex}.title-line{align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.result-title-row h2{font:700 30px/1.2 var(--serif);margin:0}.result-count{color:#16181d73;font-size:13px}.result-title-row p{color:#16181d73;margin:0;font-size:13.5px}.cache-badge{color:var(--blue-dark);background:oklch(48% .1 258/.08);border:1px solid oklch(48% .1 258/.18);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex}.cache-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.secondary-btn{border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:9px;flex:none;padding:9px 14px;font-size:12px}.secondary-btn:hover{border-color:var(--ink)}.candidate-list{gap:14px;display:grid}.candidate-entry{min-width:0}.candidate-card{grid-template-columns:32px 76px 1fr auto;align-items:center;gap:28px;padding:24px 32px;transition:all .3s cubic-bezier(.16,1,.3,1);display:grid}.candidate-card:hover{border-color:#16181d38;transform:translateY(-2px);box-shadow:0 12px 32px #16181d14}.candidate-card.selected{border-color:oklch(48% .1 258/.28);box-shadow:0 10px 28px oklch(48% .1 258/.07)}.candidate-rank{width:32px;font:900 20px/1 var(--serif)}.mini-score{--score:0;text-align:center;background:radial-gradient(circle, var(--paper) 57%, transparent 59%), conic-gradient(var(--blue) calc(var(--score) * 1%), #eceae6 0);border-radius:50%;place-content:center;width:76px;height:76px;display:grid}.mini-score strong{font:700 23px/1 var(--serif)}.mini-score small{color:var(--soft);margin-top:2px;font-size:9.5px}.candidate-main{flex-direction:column;gap:8px;min-width:0;display:flex}.candidate-name-line{align-items:center;gap:12px;display:flex}.candidate-name-line h3{margin:0;font-size:16.5px;font-weight:600}.candidate-name-line span{color:var(--blue-dark);background:oklch(48% .1 258/.07);border-radius:6px;padding:3px 8px;font-size:11px}.candidate-main p{color:#16181d73;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12.5px;overflow:hidden}.candidate-tags{flex-wrap:wrap;gap:8px;display:flex}.candidate-tags span{color:var(--blue-dark);background:oklch(48% .1 258/.07);border-radius:6px;padding:3px 10px;font-size:12px}.candidate-actions{align-items:center;gap:28px;display:flex}.recommendation{background:var(--ink);color:var(--canvas);border-radius:999px;flex:none;padding:7px 16px;font-size:12.5px;font-weight:500}.report-toggle{color:var(--soft);cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:13px}.full-report{gap:18px;margin-top:24px;animation:.45s cubic-bezier(.16,1,.3,1) both fadeUp;display:grid}.report-card{padding:28px}.overview-card{background:var(--ink);color:var(--paper);border-color:var(--ink);grid-template-columns:1fr auto;align-items:center;gap:32px;display:grid}.report-kicker{color:#ffffff80;letter-spacing:.14em;font-size:10px}.overview-card h3,.report-head h3{font:600 26px/1.3 var(--serif);margin:8px 0 10px}.overview-card p{color:#ffffff9e;max-width:700px;font-size:13px;line-height:1.75}.semantic-score{border-left:1px solid #ffffff1f;flex-direction:column;align-items:center;min-width:150px;padding:8px 20px;display:flex}.semantic-score strong{font:700 48px/1 var(--serif)}.semantic-score span{color:#fff9;margin-top:8px;font-size:11px}.semantic-score small{color:#91a7ca;margin-top:7px;font-size:9px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:#58749b;background:#f6f8fb;border-radius:6px;padding:6px 10px;font-size:11px}.overview-card .chip{color:#c3cfdf;background:#262930;border-color:#3c4149}.dimensions{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dimension{border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:22px}.dimension-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.dimension-head h3{margin:0;font-size:14px}.dimension-head span{color:var(--soft);margin-left:6px;font-size:10px;font-weight:400}.dimension-head strong{font:700 26px/1 var(--serif)}.score-bar{background:#eceae6;height:4px;margin:14px 0;overflow:hidden}.score-bar i{background:var(--blue);height:100%;display:block}.dimension p{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.candidate-profile{max-width:900px;font:600 17px/1.8 var(--serif)}.ai-grid,.insights,.result-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.ai-grid{gap:28px;margin-top:26px}.ai-grid>div,.interview-box{border-top:1px solid var(--line);padding-top:18px}.ai-grid h4,.interview-box h4{margin:0 0 8px;font-size:13px}.interview-box{margin-top:24px}.line-list{display:grid}.line-item{color:var(--muted);border-bottom:1px solid #16181d0f;padding:9px 0;font-size:12px;line-height:1.65}.line-item:last-child{border-bottom:0}.empty{color:var(--soft);font-size:12px}.insights h3,.detail-card h3{font:600 19px/1.3 var(--serif);margin:0 0 18px}.stats{border:1px solid var(--line);background:var(--paper);border-radius:14px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.stat{border-right:1px solid var(--line);padding:22px 26px}.stat:last-child{border-right:0}.stat strong{font:700 27px/1 var(--serif);display:block}.stat span{color:var(--soft);margin-top:7px;font-size:10px;display:block}.detail-card{min-height:220px;position:relative}.detail-num{color:#16181d59;font:700 11px var(--serif);position:absolute;top:24px;right:26px}.contact-list{gap:14px;display:grid}.contact-item{color:#16181dbf;word-break:break-word;font-size:12px}.contact-item span{color:var(--soft);margin-bottom:4px;font-size:10px;display:block}.raw-panel{grid-column:1/-1;padding:0;overflow:hidden}.raw-toggle{background:var(--paper);cursor:pointer;border:0;justify-content:space-between;width:100%;padding:20px 24px;font-size:12px;font-weight:600;display:flex}pre{border-top:1px solid var(--line);background:var(--canvas);white-space:pre-wrap;word-break:break-word;max-height:480px;color:var(--muted);margin:0;padding:24px;font:11px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.help-card{grid-template-columns:1fr 1fr;gap:32px;margin-top:24px;padding:24px 28px;scroll-margin-top:88px;display:grid}.help-card span{font-size:12px;font-weight:600}.help-card p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.7}footer{min-height:76px;color:var(--soft);border-top:1px solid #16181d12;justify-content:space-between;align-items:center;gap:18px;padding:24px 0;font-size:12px;animation:1.2s .6s both fadeIn;display:flex}.status{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:6px;height:6px}.status.ready{color:var(--green)}.status.unconfigured,.status.error{color:var(--danger)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scanY{0%{top:-18%}to{top:108%}}@keyframes pulseDot{0%,to{box-shadow:0 0 oklch(48% .1 258/.35)}50%{box-shadow:0 0 0 6px oklch(48% .1 258/0)}}@keyframes barShimmer{0%{background-position:-200px 0}to{background-position:200px 0}}@keyframes loadingArrow{0%,to{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(5px)}}@media (width<=900px){.nav-shell,main,footer{width:min(100% - 40px,1120px)}.workspace{grid-template-columns:1fr}.work-card{min-height:auto}.progress-layout{grid-template-columns:240px 1fr;gap:28px}.candidate-card{grid-template-columns:28px 68px 1fr;gap:20px}.candidate-actions{grid-column:3;justify-content:flex-start}footer{flex-wrap:wrap}}@media (width<=680px){.topbar,.nav-shell{height:58px}.nav-shell,main,footer{width:min(100% - 32px,1120px)}.nav-links a{display:none}.nav-links{gap:0}.brand{font-size:13px}.hero{padding:56px 0 42px}.hero h1{font-size:clamp(36px,10.5vw,48px)}.hero h1 br{display:none}.hero p{font-size:14px}.work-card,.analysis-card,.report-card{padding:22px}.form-grid,.dimensions,.ai-grid,.insights,.result-grid,.help-card,.progress-layout{grid-template-columns:1fr}.document-preview{height:220px}.progress-steps{grid-template-columns:1fr}.progress-heading{flex-wrap:wrap}.analysis-status{width:100%;margin-left:0}.result-title-row{flex-direction:column;align-items:flex-start}.title-line{flex-wrap:wrap}.candidate-card{grid-template-columns:26px 58px 1fr;gap:14px;padding:18px}.mini-score{width:58px;height:58px}.candidate-actions{grid-column:1/-1;justify-content:space-between;margin-left:40px}.candidate-main p{white-space:normal}.overview-card{grid-template-columns:1fr}.semantic-score{border-top:1px solid #ffffff1f;border-left:0;align-items:flex-start;padding:20px 0 0}.stats{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.raw-panel{grid-column:auto}footer{flex-direction:column;align-items:flex-start;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
