:root{--color-bg:#fafafa;--color-surface:#fff;--color-surface-2:#f7f7f8;--color-ink:#171717;--color-ink-2:#525252;--color-muted:#737373;--color-faint:#a3a3a3;--color-border:#e5e5e5;--color-border-2:#f0f0f0;--color-primary:#4d70eb;--color-primary-tint:#eaeefb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--color-ink);font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;background:var(--color-bg)}button,input{font:inherit}button{cursor:pointer}svg{display:block;flex:none}svg path,svg circle,svg rect{stroke:currentColor;stroke-width:1.75;fill:none;stroke-linecap:round;stroke-linejoin:round}.icon-fill{fill:currentColor;stroke:none!important}.app-shell{display:flex;min-height:100vh;background:#fff}.sidebar{width:248px;flex:none;min-height:100vh;border-right:1px solid var(--color-border);padding:20px 12px 14px;display:flex;flex-direction:column;gap:20px}.brand-row{height:24px;display:flex;align-items:center;gap:9px;padding:0 8px}.brand{color:var(--color-ink);font-size:24px;line-height:24px;letter-spacing:-1.4px;font-weight:800;text-decoration:none}.brand-badge{background:var(--color-primary-tint);border-radius:4px;color:var(--color-primary);font:600 11px/14px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;padding:2px 6px}.sidebar-search{height:38px;border:1px solid var(--color-border);border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 14px;color:var(--color-muted)}.sidebar-search svg{width:16px;height:16px}.sidebar-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:13px;color:var(--color-ink)}.sidebar-search input::placeholder{color:var(--color-faint)}.sidebar-search kbd{color:var(--color-faint);font:11px ui-monospace,monospace}.nav-groups{flex:1;display:flex;flex-direction:column;gap:22px}.nav-group h2{color:var(--color-muted);font-size:12px;font-weight:500;line-height:16px;margin:0 10px 8px}.nav-item{height:34px;border-radius:8px;display:flex;align-items:center;gap:10px;padding:0 10px;color:var(--color-ink);font-size:14px;text-decoration:none}.nav-item svg{width:18px;height:18px}.nav-item.selected{background:#f0f0f1;font-weight:500}.nav-item.muted{color:var(--color-faint)}.soon{font-size:11px;line-height:14px;color:var(--color-muted);border:1px solid var(--color-border);border-radius:999px;padding:1px 8px;margin-left:auto}.recent-item{height:36px;display:flex;align-items:center;gap:16px;padding:0 10px;color:var(--color-ink-2);font-size:14px}.recent-dot{width:6px;height:6px;border-radius:50%;background:var(--color-border);margin-left:6px;margin-right:6px}.recent-item time{margin-left:auto;color:var(--color-faint);font-size:12px}.service-card{min-height:90px;background:#f4f4f5;border-radius:12px;padding:14px;display:flex;gap:14px}.service-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);margin:5px 5px 0;flex:none}.service-card strong,.workspace strong{font-size:14px;font-weight:500;line-height:18px}.service-card p{margin:4px 0 0;color:var(--color-muted);font-size:13px;line-height:20px}.workspace{min-height:43px;display:flex;align-items:center;gap:10px;padding:4px 8px}.avatar{width:32px;height:32px;background:var(--color-ink);color:#fff;border-radius:8px;display:grid;place-items:center;font-size:13px;font-weight:600}.workspace-label{flex:1;display:flex;flex-direction:column;gap:1px}.workspace-label small{color:var(--color-muted);font-size:12px;line-height:16px}.workspace svg{width:14px;height:14px;color:var(--color-faint)}.main{min-width:0;flex:1}.topbar{height:57px;border-bottom:1px solid var(--color-border-2);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.breadcrumb,.top-actions{display:flex;align-items:center}.breadcrumb{gap:6px;font-size:14px;line-height:18px}.breadcrumb span{color:var(--color-muted)}.breadcrumb svg{width:12px;height:12px;color:var(--color-faint)}.breadcrumb strong{font-weight:400}.top-actions{gap:12px}.icon-button,.new-button{padding:0;border:0;background:transparent;display:grid;place-items:center}.icon-button{width:22px;height:22px;color:var(--color-ink-2)}.icon-button svg{width:22px;height:22px}.new-button{width:22px;height:22px;border-radius:50%;background:var(--color-ink);color:#fff}.new-button svg{width:17px;height:17px}.body-content{padding:48px 64px 72px;max-width:1320px}.page-heading{max-width:620px;margin-bottom:28px}.page-heading h1{font-size:26px;line-height:32px;letter-spacing:-.01em;font-weight:600;margin:0 0 10px}.page-heading p{font-size:14px;line-height:22px;color:var(--color-muted);margin:0}.panels{display:flex;align-items:flex-start;gap:20px}.resume-panel{border:1px solid var(--color-border);border-radius:12px;flex:1;min-width:0;overflow:hidden}.panel-header{height:47px;border-bottom:1px solid var(--color-border-2);padding:0 18px;display:flex;align-items:center;justify-content:space-between}.panel-header h2,.steps h2{font-size:14px;line-height:18px;font-weight:600;margin:0}.sample-button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--color-ink);font-size:13px;font-weight:500;padding:3px 0}.sample-button svg{width:13px;height:13px}.panel-content{padding:18px}.drop-zone{height:340px;border:1px dashed #d4d4d8;border-radius:10px;background:var(--color-surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;outline:none}.drop-zone.dragging,.drop-zone:focus-visible{border-color:var(--color-primary);background:var(--color-primary-tint)}.upload-icon{width:48px;height:48px;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:0 1px 2px #1018280d;display:grid;place-items:center}.upload-icon svg{width:22px;height:22px}.upload-copy{display:flex;flex-direction:column;gap:4px}.upload-copy strong{font-size:15px;font-weight:500;line-height:20px}.upload-copy span{font-size:13px;line-height:20px;color:var(--color-muted)}.import-button{height:36px;border:0;border-radius:999px;background:var(--color-ink);color:#fff;font-size:13px;font-weight:500;padding:0 16px}.import-button:hover,.find-button:not(:disabled):hover{background:#333}.panel-footer{height:67px;border-top:1px solid var(--color-border-2);padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-footer>span{font-size:12px;line-height:16px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.find-button{height:38px;padding:0 18px 0 16px;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--color-ink);color:#fff;font-size:14px;font-weight:500;white-space:nowrap}.find-button svg{width:14px;height:14px}.find-button:disabled{background:#e7e7ea;color:var(--color-faint);cursor:not-allowed}.steps{width:340px;flex:none;padding:4px 4px 0 12px}.steps h2{margin-bottom:20px}.steps ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:20px}.steps li{display:flex;gap:14px}.step-number{width:28px;height:28px;border-radius:50%;background:#f4f4f5;display:grid;place-items:center;flex:none;font-size:13px;font-weight:600}.steps li>div{padding-top:1px}.steps strong{font-size:14px;line-height:18px;font-weight:500}.steps p{font-size:13px;line-height:20px;color:var(--color-muted);margin:3px 0 0}.disclaimer{margin:28px 0 0;border-top:1px solid var(--color-border-2);padding-top:20px;display:flex;align-items:flex-start;gap:10px;color:var(--color-muted);font-size:13px;line-height:20px}.disclaimer svg{width:16px;height:16px;margin-top:2px}dialog{border:1px solid var(--color-border);border-radius:12px;box-shadow:0 12px 40px #0002;max-width:400px;padding:24px;color:var(--color-ink)}dialog::backdrop{background:#0005}dialog p{font-size:14px;line-height:22px;margin:0 0 20px}dialog button{border:0;border-radius:999px;background:var(--color-ink);color:#fff;padding:8px 18px;float:right}@media(max-width:1100px){.body-content{padding:40px 36px 64px}.steps{width:300px}}@media(max-width:850px){.sidebar{width:210px}.panels{flex-direction:column}.resume-panel,.steps{width:100%}.steps{padding:12px 0 0}.steps ol{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.steps li{gap:8px}}@media(max-width:650px){.app-shell{display:block}.sidebar{width:100%;min-height:0;padding:12px;gap:10px;border-right:0;border-bottom:1px solid var(--color-border)}.sidebar-search,.nav-groups,.service-card,.workspace{display:none}.brand-row{padding:0 4px}.topbar{height:48px;padding:0 20px}.body-content{padding:32px 20px 50px}.page-heading h1{font-size:24px}.panel-content{padding:12px}.drop-zone{height:300px}.steps ol{display:flex;gap:18px}.steps li{gap:14px}.disclaimer{margin-top:24px}}
:root .brand{display:block;line-height:0}
.brand svg{width:49px;height:20px}
.brand svg path{fill:currentColor;stroke:none}
.no-recent{color:var(--color-faint);font-size:12px;margin:8px 10px}
.recent-item.current .recent-dot{background:var(--color-primary)}
.service-card.unavailable .service-dot{background:#c2411b}
.page-heading{max-width:none;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.page-heading>div{max-width:620px}
.panel-meta{font-size:12px;line-height:16px;color:var(--color-muted)}
.selected-file{height:66px;border:1px solid var(--color-border);border-radius:10px;display:flex;align-items:center;gap:12px;padding:8px 12px;margin-bottom:16px}
.selected-file.invalid{border-color:#c2411b;box-shadow:0 0 0 3px #fff0ec}
.file-icon{width:40px;height:40px;border-radius:8px;background:#f0f2fc;color:var(--color-primary);display:grid;place-items:center;flex:none}
.file-icon svg{width:18px;height:18px}
.file-label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.file-label strong{font-size:14px;line-height:18px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-label small{font-size:12px;line-height:16px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selected-file.invalid .file-label small,.error-text{color:#a43115!important}
.soft-button{border:0;border-radius:999px;background:#f4f4f5;color:var(--color-ink);font-size:13px;padding:5px 12px;white-space:nowrap}
.remove-button{border:0;background:transparent;color:var(--color-muted);font-size:20px;line-height:20px;padding:2px 4px}
.selected-preview{height:260px;display:flex;flex-direction:column;gap:8px}
.preview-label,.section-caption,.criteria-heading{font-size:13px;line-height:16px;color:var(--color-ink-2)}
.preview-box{flex:1;border-radius:10px;background:var(--color-surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.preview-file-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--color-border);border-radius:12px;background:#fff;color:var(--color-primary);margin-bottom:12px}
.preview-file-icon svg{width:22px;height:22px}
.preview-box strong{font-size:14px;font-weight:500}
.preview-box p{max-width:300px;color:var(--color-muted);font-size:13px;line-height:20px;margin:6px 0 0}
.flow-alert{min-height:68px;border-radius:12px;margin-bottom:28px;padding:14px 16px;display:flex;align-items:center;gap:14px;background:#fff1ed}
.flow-alert.busy{background:#f7f7f8}
.alert-symbol{width:16px;height:16px;flex:none;display:grid;place-items:center;border-radius:50%;background:#c2411b;color:#fff;font-size:12px;font-weight:700}
.flow-alert.busy .alert-symbol{background:transparent;color:var(--color-ink);font-size:20px}
.flow-alert>div{flex:1;min-width:0}
.flow-alert strong{font-size:14px;font-weight:500;line-height:18px}
.flow-alert p{font-size:13px;line-height:18px;color:var(--color-muted);margin:4px 0 0}
.flow-alert button,.outline-button{border:1px solid var(--color-border);background:#fff;border-radius:999px;padding:6px 16px;color:var(--color-ink);font-size:13px;white-space:nowrap}
.flow-alert.danger button{background:var(--color-ink);border-color:var(--color-ink);color:#fff}
.results-panels{align-items:flex-start}
.compact-resume{width:400px;flex:none}
@media(min-width:951px){
  .compact-resume{position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow-y:auto}
}
.summary-body{padding:18px}
.summary-file{height:62px;display:flex;align-items:center;gap:12px;border:1px solid var(--color-border);border-radius:10px;padding:8px 12px;margin-bottom:18px}
.summary-file .file-icon{width:36px;height:36px}
.summary-file .file-icon svg{width:16px;height:16px}
.summary-file>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.summary-file strong{font-size:14px;line-height:18px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.summary-file small{font-size:12px;line-height:16px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.summary-file .soft-button{padding:5px 10px}
.section-caption{margin-bottom:8px}
.target-box{border:1px solid var(--color-border);border-radius:10px;overflow:hidden;margin-bottom:18px}
.target-box>div{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;font-size:13px;line-height:18px}
.target-box>div+div{border-top:1px solid var(--color-border-2)}
.target-box span{color:var(--color-muted)}
.target-box strong{font-weight:500;text-align:right}
.criteria-heading{display:flex;justify-content:space-between;margin-bottom:8px}
.criteria-heading small{font-size:12px;color:var(--color-muted)}
.criteria-row{min-height:37px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--color-border-2);font-size:13px;line-height:18px}
.criteria-row:last-child{border-bottom:0}
.criteria-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.criteria-category{border:1px solid var(--color-border);border-radius:999px;padding:0 8px;color:var(--color-ink-2);font-size:11px;line-height:16px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.weight-dots{width:42px;display:flex;gap:3px;justify-content:flex-end}
.weight-dots i{width:5px;height:5px;border-radius:50%;background:var(--color-border)}
.weight-dots i.filled{background:var(--color-ink)}
.criteria-skeleton{display:flex;flex-direction:column;gap:16px;padding:8px 0 2px}
.criteria-skeleton span{height:9px;border-radius:10px;background:#f0f0f1;width:80%}
.criteria-skeleton span:nth-child(2){width:65%}.criteria-skeleton span:nth-child(3){width:90%}.criteria-skeleton span:nth-child(4){width:55%}
.progress-list{border-top:1px solid var(--color-border-2);padding:12px 18px;display:flex;flex-direction:column;gap:10px}
.progress-row{display:flex;align-items:center;gap:10px;font-size:13px;line-height:16px;color:var(--color-ink)}
.progress-row.waiting{color:var(--color-faint)}
.progress-mark{width:14px;text-align:center;font-size:12px}
.progress-row.active .progress-mark{color:var(--color-primary)}
.progress-row time{margin-left:auto;color:var(--color-muted);font-size:11px;white-space:nowrap}
.matches-panel{border:1px solid var(--color-border);border-radius:12px;min-width:0;flex:1;overflow:hidden}
.matches-header{padding:16px 20px;border-bottom:1px solid var(--color-border-2)}
.matches-header>div:first-child{min-height:22px;display:flex;align-items:center;gap:10px}
.matches-header strong{font-size:14px;line-height:18px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.matches-header small{margin-left:auto;font-size:12px;line-height:16px;color:var(--color-muted);white-space:nowrap}
.phase-badge{border-radius:999px;background:var(--color-primary-tint);color:#5272bf;font-size:12px;line-height:22px;padding:0 10px;white-space:nowrap}
.phase-badge.stopped{background:#fff0ec;color:#b83c1e}
.phase-badge.neutral{background:#f1f1f2;color:var(--color-muted)}
.phase-track{height:4px;background:#eeeef0;margin-top:14px;border-radius:999px;overflow:hidden}
.phase-track i{display:block;height:100%;background:var(--color-ink);border-radius:999px;transition:transform 560ms cubic-bezier(.22,1,.36,1)}
.result-skeletons{padding:20px}
.result-skeletons>div{height:99px;display:flex;align-items:flex-start;gap:14px;border-bottom:1px solid var(--color-border-2);padding:0 0 20px;margin-bottom:20px}
.result-skeletons i{width:40px;height:40px;border-radius:9px;background:#f1f1f2}
.result-skeletons span{flex:1;padding-top:5px}
.result-skeletons b{display:block;height:10px;margin-bottom:8px;border-radius:10px;background:#f1f1f2;width:60%}
.result-skeletons b+b{width:80%}
.result-skeletons small{width:34px;height:20px;background:#f1f1f2;border-radius:6px}
.result-skeletons p{text-align:center;color:var(--color-muted);font-size:13px;line-height:20px;margin:20px 0 0}
.job-list{padding:0 20px}
.job-card{padding:20px 0;border-bottom:1px solid var(--color-border-2)}
.job-top{display:flex;align-items:center;gap:14px}
.company-tile{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#ef5a39,#f68b4b);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:700;flex:none}
.job-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.job-heading strong{font-size:14px;line-height:18px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-heading small{font-size:13px;line-height:18px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-score{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.job-score strong{font-size:20px;line-height:22px;font-weight:600}
.job-score small{font-size:11px;color:var(--color-muted);white-space:nowrap}
.score-track{height:6px;background:#eceef0;border-radius:99px;margin:14px 0;overflow:hidden}
.score-track i{display:block;height:100%;background:var(--color-primary);border-radius:99px}
.criterion-table{background:#f8f8f9;border-radius:10px;padding:12px 14px;font-size:13px}
.criterion-head,.criterion-row{display:grid;grid-template-columns:minmax(110px,1fr) 120px 35px 72px;align-items:center;gap:8px}
.criterion-head{color:var(--color-muted);margin-bottom:10px}
.criterion-head span:nth-child(2){grid-column:2/4}
.criterion-head span:nth-child(3){text-align:right}
.criterion-row{min-height:26px}
.criterion-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.criterion-meter{height:4px;border-radius:9px;background:#e1e1e4;overflow:hidden}
.criterion-meter i{display:block;height:100%;background:var(--color-ink)}
.criterion-row strong{font-weight:400;text-align:right}
.criterion-row small{text-align:right;color:var(--color-muted);font-size:12px}
.no-criteria{font-size:13px;color:var(--color-muted);margin:0}
.score-tags{display:flex;align-items:flex-start;gap:6px;margin:10px 0;color:var(--color-muted);font-size:12px}
.score-tags>span{width:64px;flex:none;padding-top:3px}
.score-tags>div{display:flex;flex-wrap:wrap;gap:6px}
.score-tags em{font-style:normal;font-size:12px;line-height:18px;color:#5571ad;background:#eaeefb;border-radius:999px;padding:2px 9px}
.score-tags.weak em{background:#fff;border:1px dashed #d9d9dc;color:var(--color-ink-2)}
.score-tags small{font-size:12px;line-height:22px}
.job-actions{display:flex;align-items:center;gap:20px;margin-top:14px;font-size:13px}
.job-actions a{color:var(--color-ink);text-decoration:none;font-weight:500}
.job-actions a:hover{text-decoration:underline}
.job-actions>span{color:var(--color-muted)}
.job-actions button{border:0;background:transparent;color:var(--color-muted);padding:0;font-size:13px}
.show-all{width:100%;height:50px;border:0;background:#fff;color:var(--color-muted);font-size:13px}
.empty-results{min-height:338px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}
.empty-icon{width:52px;height:52px;border-radius:15px;background:#f4f4f5;display:grid;place-items:center;margin-bottom:16px}
.empty-icon svg{width:24px;height:24px}
.empty-results h3{font-size:16px;line-height:22px;margin:0 0 6px}
.empty-results p{max-width:420px;color:var(--color-muted);font-size:14px;line-height:22px;margin:0 0 20px}
.empty-results>div:last-child{display:flex;gap:8px}
.empty-results .import-button,.empty-results .outline-button{height:36px}
@media(max-width:1150px){.compact-resume{width:360px}.criterion-head,.criterion-row{grid-template-columns:minmax(90px,1fr) 80px 30px 62px}.body-content{padding-left:36px;padding-right:36px}}
@media(max-width:950px){.results-panels{flex-direction:column}.compact-resume,.matches-panel{width:100%}.matches-header small{white-space:normal;text-align:right}}
@media(max-width:650px){.page-heading{display:block}.selected-file{gap:8px}.selected-file .soft-button{padding:5px 8px}.flow-alert{align-items:flex-start;flex-wrap:wrap}.flow-alert button{margin-left:30px}.criterion-head,.criterion-row{grid-template-columns:minmax(90px,1fr) 70px 28px 55px;gap:5px}.job-list{padding:0 14px}.matches-header{padding:14px}.company-tile{width:32px;height:32px}.job-top{gap:8px}.job-heading strong{font-size:13px}.job-heading small{font-size:11px}.job-score strong{font-size:18px}.score-tags>span{width:54px}}
.main{width:100%}
.body-content{max-width:1192px;margin:0 auto}
.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}
.topbar-left .brand{flex:none}
.header-divider{width:1px;height:22px;background:var(--color-border);margin:0 8px}
@media(max-width:650px){.topbar{padding:0 16px}.topbar-left{gap:8px}.topbar-left .brand svg{width:43px}.header-divider,.breadcrumb{display:none}.top-actions{gap:8px}}
/* Quiet loading motion within the existing Paper layout. */
.account-controls{display:flex;align-items:center;gap:12px;min-width:0}
.google-sign-in{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:38px;padding:0 14px;border:1px solid var(--color-border);border-radius:999px;background:#fff;color:var(--color-ink);font-size:13px;font-weight:500;white-space:nowrap}
.google-sign-in:hover{background:var(--color-surface-2)}
.google-sign-in:focus-visible,.sign-out-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}
.google-sign-in:disabled,.sign-out-button:disabled{opacity:.6;cursor:wait}
.google-icon{width:18px;height:18px;flex:none}
.google-icon path{stroke:none;fill:revert}
.google-icon path:nth-child(1){fill:#4285f4}.google-icon path:nth-child(2){fill:#34a853}.google-icon path:nth-child(3){fill:#fbbc05}.google-icon path:nth-child(4){fill:#ea4335}
.account-name{font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sign-out-button{border:1px solid var(--color-border);border-radius:999px;min-height:36px;padding:0 14px;background:#fff;color:var(--color-ink);font-size:13px;white-space:nowrap}
.auth-error{margin:0 0 20px;padding:12px 16px;border:1px solid #efd0c7;border-radius:8px;color:#97351f;background:#fff8f5;font-size:13px;line-height:20px}
.auth-error[hidden]{display:none}
.access-card .google-sign-in{background:#171717;color:#fff;border:1px solid #171717}
.access-card .google-sign-in:hover{background:#333;border-color:#333}
@media(max-width:650px){.account-controls{gap:8px}.account-name{display:none}.google-sign-in{padding:0 10px;font-size:12px;gap:8px}.topbar-left{flex-shrink:0}.topbar{gap:10px}}
.result-skeletons i,.result-skeletons b,.result-skeletons small,.criteria-skeleton span{background:linear-gradient(90deg,#f0f0f1 20%,#e7e7ea 50%,#f0f0f1 80%);background-size:220% 100%;animation:quiet-shimmer 2.8s ease-in-out infinite}
.result-skeletons>div:nth-child(2) i,.result-skeletons>div:nth-child(2) b,.result-skeletons>div:nth-child(2) small{animation-delay:.25s}
.result-skeletons>div:nth-child(3) i,.result-skeletons>div:nth-child(3) b,.result-skeletons>div:nth-child(3) small{animation-delay:.5s}
.phase-track{position:relative}
.phase-track i{width:100%;transform:scaleX(var(--progress,0));transform-origin:left center}
.phase-sweep{position:absolute;inset:0 auto 0 0;width:28%;border-radius:inherit;background:var(--color-ink);opacity:0;animation:quiet-progress 2.4s cubic-bezier(.45,0,.55,1) infinite;animation-play-state:paused;transition:opacity 180ms ease}
.phase-track.indeterminate .phase-sweep{opacity:1;animation-play-state:running}
.progress-row.active .progress-mark{animation:quiet-dot 2.4s ease-in-out infinite}
.progress-row{transition:color 240ms ease}
.progress-row.stopped .progress-mark{color:#b83c1e}
.progress-row time,.job-score strong{font-variant-numeric:tabular-nums}
.score-track i,.criterion-meter i{transform-origin:left center;transition:width 560ms cubic-bezier(.22,1,.36,1)}
.stopped-results{padding:32px 20px;color:var(--color-muted);font-size:13px}
body[data-phase="error"] .criteria-skeleton span{animation:none;background:#f0f0f1}
.result-skeletons p{display:flex;align-items:center;justify-content:center;gap:8px}
.result-skeletons .loading-spinner{box-sizing:border-box;display:inline-block;width:12px;height:12px;flex:none;padding:0;border:2px solid #e5e5e5;border-top-color:var(--color-ink-2);border-radius:50%;animation:quiet-spin 1s linear infinite}
@keyframes quiet-shimmer{0%{background-position:100% 0}100%{background-position:-100% 0}}
@keyframes quiet-progress{0%{transform:translateX(-100%)}100%{transform:translateX(360%)}}
@keyframes quiet-dot{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes quiet-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.result-skeletons i,.result-skeletons b,.result-skeletons small,.criteria-skeleton span,.phase-track.indeterminate i,.progress-list.reading .progress-row.active .progress-mark,.result-skeletons .loading-spinner{animation:none}}

/* Job search hero and limited results from the current Paper screens. */
.page-hero{height:200px;position:relative;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--color-border);background:#fff}
.page-hero .page-heading{width:min(100%,1192px);max-width:none;margin:0 auto;padding:0 64px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}
.page-hero .page-heading>div{max-width:636px;display:flex;flex-direction:column;gap:14px}
.hero-kicker{color:var(--color-primary);font-size:13px;font-weight:600;line-height:16px}
.page-hero h1{font-size:36px;line-height:42px;font-weight:700;letter-spacing:-.02em;margin:0}
.page-hero p{font-size:16px;line-height:26px;color:var(--color-ink-2);margin:0;max-width:680px}
.hero-art{position:absolute;left:max(700px,calc((100% - 1192px)/2 + 700px));right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:flex-start;overflow:clip;pointer-events:none}
.hero-glyph{width:600px;height:180px;flex:none;--glyph-dark:#2F47B3;--glyph-primary:#4D70EB;--glyph-light:#93A8F2;--glyph-pale:#C9D4F8;--glyph-faint:#EEF2FD}
.hero-glyph canvas{display:block;width:100%;height:100%}
body[data-phase="parsing"] .hero-glyph,body[data-phase="extracting"] .hero-glyph,body[data-phase="file-error"] .hero-glyph,body[data-phase="error"] .hero-glyph{--glyph-dark:#B8480F;--glyph-primary:#F26B1D;--glyph-pale:#FBD7BD;--glyph-light:#F7A774;--glyph-faint:#FFF3EB}
body[data-phase="searching"] .hero-glyph,body[data-phase="done"] .hero-glyph,body[data-phase="empty"] .hero-glyph{--glyph-dark:#0E6B45;--glyph-primary:#1DA36A;--glyph-pale:#C4E8D5;--glyph-light:#7CCBA4;--glyph-faint:#EFF9F3}
.body-content{max-width:1192px;padding:40px 64px 72px}
.has-results .body-content{padding-top:40px}
.locked-results{padding:18px 0 20px;display:flex;flex-direction:column;gap:20px}
.locked-job{height:58px;display:grid;grid-template-columns:40px 1fr 34px;align-items:start;gap:14px;position:relative;border-bottom:1px solid var(--color-border-2)}
.locked-job span{width:40px;height:40px;border-radius:9px;background:#f0f0f1}
.locked-job i{height:10px;width:60%;margin-top:7px;border-radius:99px;background:#e7e7ea}
.locked-job b{width:34px;height:20px;border-radius:6px;background:#f0f0f1}
.locked-job::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#e7eafb,#f0f0f1)}
.access-card{border:1px solid var(--color-border);border-radius:12px;padding:24px;box-shadow:0 2px 8px #1018280a;display:flex;flex-direction:column;align-items:stretch;gap:12px}
.access-card h3{font-size:20px;line-height:26px;font-weight:600;margin:0;color:var(--color-ink)}
.access-card p{font-size:14px;line-height:22px;color:var(--color-muted);margin:0 0 4px}
.access-card button{width:100%;height:42px;border:0;border-radius:999px;background:var(--color-ink);color:#fff;font-size:14px;font-weight:500}
.access-card button:hover{background:#333}
.access-card small{text-align:center;color:var(--color-muted);font-size:12px;line-height:18px}
@media(max-width:1150px){.page-hero .page-heading{padding:0 36px}.body-content{padding-left:36px;padding-right:36px}}
@media(max-width:1100px){.hero-art{left:62%}.page-hero .page-heading>div{max-width:58%}.page-hero h1{font-size:30px;line-height:36px}}
@media(max-width:950px){.page-hero{height:auto;min-height:240px;padding:28px 0}.hero-art{height:100%}.page-hero .page-heading>div{max-width:60%}}
@media(max-width:650px){.page-hero{min-height:0;padding:26px 0 154px}.page-hero .page-heading{padding:0 20px}.page-hero .page-heading>div{max-width:100%}.page-hero h1{font-size:30px;line-height:36px}.page-hero p{font-size:14px;line-height:22px}.hero-art{left:0;top:auto;bottom:4px;height:140px;justify-content:flex-end}.hero-glyph{transform:scale(.75);transform-origin:right center}.body-content{padding:28px 20px 50px}.has-results .body-content{padding-top:28px}.access-card{padding:18px}}

/* Keep changes brief and stop decorative motion when the user requests it. */
.page-hero{transition:height 600ms cubic-bezier(.22,1,.36,1)}
.phase-badge{transition:color 240ms ease,background-color 240ms ease}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .phase-track.indeterminate .phase-sweep{left:36%;opacity:.5}
}

/* Paper sidebar: 248 px, 20 px section spacing, aligned 18 px icon slots. */
.sidebar{position:sticky;top:0;height:100dvh;min-height:0;background:var(--color-surface);z-index:20}
.sidebar .brand-row{padding:0 8px;flex:none}.sidebar .brand svg{width:49px;height:20px}.sidebar .brand-badge{white-space:nowrap}
.sidebar .nav-groups{min-height:0}.history-group{min-height:0;overflow-y:auto;flex:1}.history-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--color-ink-2)}
.history-item:hover{background:var(--color-surface-2)}.history-item.active{background:var(--color-primary-tint)}.history-dot{width:18px;flex:none;display:grid;place-items:center}.history-dot:after{content:'';width:6px;height:6px;border-radius:50%;background:var(--color-border)}.history-item.active .history-dot:after{background:var(--color-primary)}
.history-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.history-title strong{font-size:14px;line-height:18px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-title small{font-size:12px;line-height:16px;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item time{width:38px;flex:none;font-size:11px;color:var(--color-muted);text-align:right}
.history-note{font-size:13px;line-height:20px;color:var(--color-muted);margin:0;padding:4px 10px}.history-retry{margin:8px 10px;border:0;background:none;color:var(--color-primary);padding:0}.workspace-label{min-width:0}.workspace-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar .workspace{border-top:1px solid var(--color-border-2);padding-top:14px;flex:none}
#save-status{font-size:12px;line-height:18px;color:var(--color-muted);display:flex;gap:12px;align-items:center}#save-status:not(:empty){margin-bottom:16px}#retry-save{border:0;background:none;color:var(--color-primary);padding:0}
#open-history,#close-history{display:none}#history-backdrop[hidden]{display:none}.topbar-left>.brand,.topbar-left>.brand-badge,.header-divider{display:none}
@media(min-width:951px){.app-shell .steps{width:280px}.app-shell .compact-resume{width:340px}}
@media(max-width:950px){.sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);visibility:hidden;transition:transform 240ms ease,visibility 240ms}.history-open .sidebar{transform:translateX(0);visibility:visible}.history-open{overflow:hidden}#history-backdrop{position:fixed;inset:0;border:0;background:#17171755;z-index:19}#open-history{display:grid;flex:none}#close-history{display:block;margin-left:auto;border:0;background:none;font-size:22px;color:var(--color-muted)}.topbar-left>.brand{display:block}.topbar-left>.brand-badge{display:none}}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
@media(max-width:950px){.app-shell .sidebar{width:248px;padding:20px 12px 14px;gap:20px;border-right:1px solid var(--color-border);border-bottom:0}.sidebar .nav-groups,.sidebar .workspace{display:flex}}

.sidebar .history-group[hidden],.sidebar .workspace[hidden]{display:none}

.sidebar #history-account{display:flex;flex-direction:column;gap:8px;padding:0;border:0;align-items:stretch}
.sidebar-auth-button{height:36px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-ink);font-size:13px;line-height:16px;font-weight:500}
.sidebar-auth-button.primary{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-surface)}
.sidebar-auth-button:hover{background:var(--color-surface-2)}.sidebar-auth-button.primary:hover{background:#333}
.sidebar-auth-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.sidebar-auth-button:disabled{opacity:.6;cursor:wait}
/* Auth dialog from Paper Label 3. Password field supports the existing login method. */
#email-dialog{width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:14px;overflow:auto;background:var(--color-surface);color:var(--color-ink);box-shadow:0 24px 64px #1018283d}
#email-dialog::backdrop{background:#17171773}
.auth-banner{height:72px;position:relative;background:url('./auth-banner.svg') center/100% 100% no-repeat;flex:none}
#email-close{position:absolute;right:12px;top:12px;width:32px;height:32px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;background:var(--color-surface);box-shadow:0 1px 3px #1018281f;color:var(--color-ink)}#email-close svg{width:14px;height:14px}#email-close path{stroke-width:2.4}
.auth-dialog-body{padding:28px 40px 32px;display:flex;flex-direction:column;gap:28px}.auth-dialog-heading{display:flex;flex-direction:column;gap:8px}
#email-dialog h2{font-size:26px;line-height:32px;letter-spacing:-.01em;font-weight:600;margin:0}#email-intro{font-size:14px;line-height:22px;color:var(--color-muted);margin:0}
.auth-dialog-fields,#email-form{display:flex;flex-direction:column;gap:16px}.auth-field{display:flex;flex-direction:column;gap:8px}
#email-form label{font-size:13px;line-height:18px;font-weight:500}#email-form input{width:100%;height:44px;border:1px solid var(--color-border);border-radius:8px;padding:0 14px;font-size:14px;line-height:18px;background:var(--color-surface);color:var(--color-ink)}#email-form input::placeholder{color:var(--color-faint)}#email-form input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}
#email-submit,#email-google .google-sign-in{width:100%;height:44px;min-height:44px;border-radius:999px;font-size:14px;line-height:18px;font-weight:500;margin:0}#email-google .google-icon{width:18px;height:18px}
.auth-divider{display:flex;align-items:center;gap:12px;color:var(--color-muted);font-size:12px;line-height:16px}.auth-divider:before,.auth-divider:after{content:'';height:1px;flex:1;background:var(--color-border-2)}
.email-link{border:0;background:none;color:var(--color-ink-2);font-size:13px;text-decoration:underline;text-underline-offset:3px;padding:8px 0}.auth-dialog-footer{display:flex;flex-direction:column;align-items:center;gap:8px}.auth-dialog-footer .email-link{margin:0;padding:0;font-size:12px;line-height:18px;text-align:center;color:var(--color-muted);background:none}.email-link:disabled{opacity:.5;cursor:wait}#email-feedback{font-size:13px;line-height:20px;margin:0;color:var(--color-ink-2)}#email-dialog [hidden]{display:none}
@media(max-width:480px){.auth-dialog-body{padding:24px}.auth-dialog-body input{font-size:16px!important}}
@media(max-width:650px){.top-actions{gap:6px}.account-controls{gap:6px}.topbar-left{gap:6px}.topbar{padding:0 12px;gap:6px}}
.account-controls .continue-button{background:#171717;color:#fff;border-color:#171717}
.account-controls .continue-button:hover{background:#333;border-color:#333}
