:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9e8e3;--surface:#deddd6;--surface-2:#d2d1c9;--paper:#f5f4f0;--ink:#1a1917;--muted:#5c5950;--faint:#6e6b62;--accent:#bfb21a;--accent-hover:#a99d12;--accent-deep:#7a6a00;--accent-ink:#1a1917;--accent-bright:#d9cc2a;--danger:#9c3b2b;--danger-bg:#ecdcd7;--warn:#7a6420;--warn-bg:#eae3cd;--info:#3d4a5c;--info-bg:#e0e3e8;--ok:#2f5d43;--ok-bg:#dce7df;--fs-xs:clamp(.8125rem, .8rem + .06vw, .875rem);--fs-sm:clamp(.875rem, .86rem + .08vw, .9375rem);--fs-md:1rem;--fs-lg:clamp(1.125rem, 1.05rem + .3vw, 1.375rem);--fs-xl:clamp(1.75rem, 1.5rem + 1vw, 2.5rem);--radius:10px;--radius-sm:8px;font-family:Schibsted Grotesk,system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;margin:0}.app{max-width:1440px;margin:0 auto;padding:16px 16px 64px}::selection{background:var(--accent);color:var(--accent-ink)}input,select,textarea{accent-color:var(--accent-deep)}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;animation:.3s ease-out rise-in;display:flex}.brand{background:var(--ink);color:var(--paper);border-radius:var(--radius);min-width:240px;padding:12px 20px}.brand h1{font-size:var(--fs-xl);letter-spacing:-.03em;color:var(--paper);margin:0;font-weight:800;line-height:1}.tagline{font-size:var(--fs-xs);color:#f5f4f0ad;margin:5px 0 0}.header-actions{flex-wrap:wrap;gap:8px;display:flex}.btn{border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-size:var(--fs-sm);cursor:pointer;border:none;padding:9px 16px;font-family:inherit;font-weight:600;transition:background-color .15s ease-out,transform 80ms ease-out}.btn:hover{background:#c6c5bd}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.primary:hover{background:var(--accent-hover)}.btn.danger{background:var(--danger-bg);color:var(--danger)}.btn.danger:hover{background:#e2ccc6}.btn.small{font-size:var(--fs-xs);border-radius:var(--radius-sm);padding:5px 11px}.banner{border-radius:var(--radius);font-size:var(--fs-xs);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;animation:.3s ease-out rise-in;display:flex}.banner-info{background:var(--info-bg);color:var(--info)}.banner-warn{background:var(--warn-bg);color:var(--warn)}.banner-error{background:var(--danger-bg);color:var(--danger)}.banner-text{flex:1;min-width:180px}.banner-close{color:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 8px;font-size:18px;line-height:1}.banner-close:hover{background:#00000014}.panel{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;padding:4px 18px;animation:.3s ease-out rise-in}.data-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:13px 0;display:flex}.data-desc{min-width:220px;font-size:var(--fs-xs);color:var(--muted);flex:1}.data-desc strong{font-size:var(--fs-sm);color:var(--ink);margin-bottom:2px;display:block}.data-desc p{margin:0}.data-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reminders{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;padding:16px 18px;animation:.3s ease-out rise-in}.reminders-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.reminders-head h2{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0;font-weight:700}.reminders-scope{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.reminders-empty{font-size:var(--fs-sm);color:var(--faint);margin:10px 0 0}.reminder-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.reminder-item{text-align:left;background:var(--paper);border-radius:var(--radius);cursor:pointer;width:100%;font:inherit;font-size:var(--fs-sm);color:var(--ink);border:none;grid-template-columns:66px 1fr auto;align-items:center;gap:10px;padding:10px 14px;transition:background-color .15s ease-out,transform 80ms ease-out;display:grid}.reminder-item:hover{background:#ebeae5}.reminder-item:active{transform:translateY(1px)}.reminder-item:focus-visible{outline:2px solid var(--accent-deep);outline-offset:1px}.reminder-item.overdue{background:var(--warn-bg)}.reminder-item.overdue:hover{background:#e4dcc0}.reminder-item .when{color:var(--accent-deep);font-weight:700;font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.reminder-item .when-today{color:var(--ok)}.reminder-item .when-overdue{color:var(--warn)}.reminder-item .what{flex-direction:column;min-width:0;display:flex}.reminder-item .what strong{font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reminder-item .what .position{color:var(--muted);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reminder-item .when-detail{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.stats{grid-template-columns:repeat(12,minmax(0,1fr));gap:8px;margin-bottom:12px;animation:.3s ease-out rise-in;display:grid}.stat-cards{grid-column:1/-1;grid-template-columns:repeat(6,minmax(0,1fr));align-content:start;gap:8px;display:grid}.stat-card{background:var(--surface);border-radius:var(--radius);flex-direction:column;gap:2px;min-width:0;padding:12px 14px;display:flex}.stat-card:first-child{background:var(--ink);color:var(--paper)}.stat-num{font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:800;line-height:1.1}.stat-card:first-child .stat-num{color:var(--accent-bright)}.stat-num small{font-size:var(--fs-sm);color:var(--muted);font-weight:500}.stat-card:first-child .stat-num small{color:#f5f4f099}.stat-label{font-size:var(--fs-xs);color:var(--muted)}.stat-card:first-child .stat-label{color:#f5f4f0ad}.stat-bars{background:var(--surface);border-radius:var(--radius);grid-column:span 6;min-width:0;padding:14px 16px}.stat-bars h3{font-size:var(--fs-sm);color:var(--ink);margin:0 0 10px;font-weight:700}.bar-row{font-size:var(--fs-xs);align-items:center;gap:8px;margin-bottom:6px;display:flex}.bar-label{width:76px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;overflow:hidden}.bar-track{background:var(--surface-2);border-radius:999px;flex:1;height:14px;display:block;overflow:hidden}.bar-fill{transform-origin:0;border-radius:999px;min-width:2px;height:100%;animation:.5s ease-out bar-grow;display:block}.bar-fill.status-applied{background:#4a5a70}.bar-fill.status-screening{background:#b08a2a}.bar-fill.status-interview{background:#2f7d52}.bar-fill.status-offer{background:#3c8a3c}.bar-fill.status-rejected{background:#b04a38}.bar-fill.status-withdrawn{background:#8d8a80}.bar-fill.source-fill{background:#7a6a00}.bar-fill.city-fill{background:#3d6b8a}.bar-fill.trend-fill{background:#9c3b2b}.bar-count{text-align:right;width:26px;color:var(--muted);font-variant-numeric:tabular-nums}.bar-empty,.timeline-empty{font-size:var(--fs-sm);color:var(--faint);margin:4px 0}.toolbar{background:var(--surface);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;padding:10px 12px;animation:.3s ease-out rise-in;display:flex}.search{border-radius:var(--radius-sm);min-width:150px;font-size:var(--fs-sm);background:var(--paper);color:var(--ink);border:none;flex:180px;padding:8px 12px;font-family:inherit}.search::placeholder{color:var(--faint)}.toolbar select{border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--paper);color:var(--ink);border:none;max-width:100%;padding:8px 10px;font-family:inherit}.search:focus,.toolbar select:focus,.field input:focus,.field select:focus,.field textarea:focus,.inline-field select:focus,.result-select:focus{outline:2px solid var(--accent-deep);outline-offset:1px}.count{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;font-variant-numeric:tabular-nums}.sort-group{align-items:center;gap:6px;display:flex}.active-only{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;display:flex}.app-form{background:var(--surface);border-radius:var(--radius);margin-bottom:12px;padding:20px;animation:.3s ease-out rise-in}.app-form h2{font-size:var(--fs-lg);letter-spacing:-.01em;margin:0 0 16px;font-weight:700}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.field{font-size:var(--fs-sm);color:var(--muted);flex-direction:column;gap:4px;min-width:0;margin-bottom:8px;display:flex}.field input,.field select,.field textarea{border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--paper);color:var(--ink);border:none;width:100%;min-width:0;padding:8px 12px;font-family:inherit}.field input::placeholder,.field textarea::placeholder{color:var(--faint)}.error{color:var(--danger);font-size:var(--fs-xs);font-style:normal}.form-actions{gap:10px;margin-top:8px;display:flex}.inline-field{font-size:var(--fs-xs);color:var(--muted);align-items:center;gap:6px;display:inline-flex}.inline-field select{border-radius:var(--radius-sm);font-size:var(--fs-sm);background:var(--paper);color:var(--ink);border:none;padding:5px 9px;font-family:inherit}.empty{background:var(--surface);border-radius:var(--radius);text-align:left;padding:48px 24px;animation:.3s ease-out rise-in}.empty-title{font-size:var(--fs-lg);color:var(--ink);margin:0 0 6px;font-weight:700}.empty-text{max-width:440px;font-size:var(--fs-sm);color:var(--muted);margin:0 0 18px}.board{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:start;gap:8px;animation:.3s ease-out rise-in;display:grid}@media (width<=1100px){.board{grid-template-columns:none;grid-auto-columns:240px;grid-auto-flow:column;padding-bottom:8px;overflow-x:auto}}.column{background:var(--surface);border-radius:var(--radius);min-width:0;min-height:120px;padding:10px}.column-header{font-size:var(--fs-sm);justify-content:space-between;align-items:center;gap:6px;margin:0 0 10px;display:flex}.column-count{font-size:var(--fs-xs);color:var(--muted);background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 10px}.column-empty{text-align:left;color:var(--faint);font-size:var(--fs-xs);margin:16px 4px}.column-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.board-card{text-align:left;background:var(--paper);border-radius:var(--radius);cursor:pointer;width:100%;font-family:inherit;font-size:var(--fs-xs);color:var(--ink);border:none;flex-direction:column;gap:3px;padding:12px;transition:background-color .15s ease-out,transform 80ms ease-out;display:flex}.board-card:hover{background:#ebeae5}.board-card:active{transform:translateY(1px)}.board-card:focus-visible{outline:2px solid var(--accent-deep);outline-offset:1px}.board-card strong{font-size:var(--fs-md);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:700}.board-card .position{color:var(--muted);overflow-wrap:anywhere}.board-card .meta{font-size:var(--fs-xs);color:var(--muted);flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.board-card .date{font-size:var(--fs-xs);color:var(--faint);font-variant-numeric:tabular-nums}.it-badge{font-size:var(--fs-xs);color:var(--ok);background:var(--ok-bg);font-variant-numeric:tabular-nums;border-radius:999px;align-self:flex-start;padding:1px 10px}.next-badge{font-size:var(--fs-xs);color:var(--warn);background:var(--warn-bg);font-variant-numeric:tabular-nums;border-radius:999px;align-self:flex-start;padding:1px 10px}.next-badge.next-today{color:var(--danger);background:var(--danger-bg)}.badge{font-size:var(--fs-xs);white-space:nowrap;border-radius:999px;padding:2px 12px;font-weight:600;line-height:1.7;display:inline-block}.status-applied{background:var(--info-bg);color:var(--info)}.status-screening{background:var(--warn-bg);color:var(--warn)}.status-interview{background:var(--ok-bg);color:var(--ok)}.status-offer{color:#2e6b33;background:#d9e7d7}.status-rejected{background:var(--danger-bg);color:var(--danger)}.status-withdrawn{color:var(--muted);background:#e4e2dc}.drawer-mask{z-index:20;background:#1a191780;justify-content:flex-end;animation:.16s ease-out mask-in;display:flex;position:fixed;inset:0}.drawer{background:var(--paper);overscroll-behavior:contain;width:min(480px,100%);height:100%;padding:20px 20px 40px;animation:.18s ease-out drawer-in;overflow-y:auto;box-shadow:-10px 0 30px #0003}@media (prefers-reduced-motion:reduce){.drawer{animation:none}}.drawer-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.drawer-header h2{font-size:var(--fs-lg);letter-spacing:-.01em;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-weight:700;display:flex}.drawer-meta{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-bottom:6px;display:flex}.drawer-meta .salary{color:var(--accent-deep);font-variant-numeric:tabular-nums;font-weight:700}.notes{font-size:var(--fs-sm);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);border-radius:var(--radius-sm);margin:10px 0 0;padding:10px 12px}.drawer-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 6px;display:flex}.drawer h3{font-size:var(--fs-md);color:var(--ink);margin:20px 0 10px;font-weight:700}.confirm-delete{font-size:var(--fs-sm);color:var(--danger);background:var(--danger-bg);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.timeline{border-left:2px solid var(--surface-2);margin:0 0 0 6px;padding:0;list-style:none}.timeline-item{padding:0 0 14px 16px;position:relative}.timeline-item:before{content:"";border:2px solid var(--paper);background:#8d8a80;border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px}.timeline-item.result-passed:before{background:#3c8a3c}.timeline-item.result-failed:before{background:#b04a38}.timeline-item.result-pending:before{background:#b08a2a}.timeline-head{font-size:var(--fs-sm);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline-head .round{font-weight:700}.timeline-head .dt{color:var(--muted);font-variant-numeric:tabular-nums}.result-select{border-radius:var(--radius-sm);font-size:var(--fs-xs);background:var(--surface);color:var(--ink);border:none;padding:3px 7px;font-family:inherit}.timeline-note{font-size:var(--fs-sm);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.it-form{background:var(--surface);border-radius:var(--radius);margin-top:10px;padding:14px 16px}.it-form h3{margin-top:2px}.it-grid{grid-template-columns:96px minmax(0,1fr);gap:8px 12px;display:grid}.toast{z-index:40;background:var(--ink);max-width:calc(100vw - 32px);color:var(--paper);border-radius:var(--radius);font-size:var(--fs-sm);align-items:center;gap:12px;padding:10px 12px 10px 16px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000047}.toast-action{color:var(--accent-bright);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;padding:2px 8px;font-weight:700}.toast-action:hover{background:#ffffff1f}.toast-close{color:#f5f4f099;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 8px;font-size:16px;line-height:1}.toast-close:hover{background:#ffffff1f}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes mask-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.drawer{animation:none}}@media (width<=900px){.stat-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.stat-bars{grid-column:span 12}}@media (width<=640px){.app{padding:12px 12px 56px}.app-header{flex-direction:column;align-items:stretch}.brand{min-width:0}.header-actions{justify-content:stretch}.header-actions .btn{flex:1}.grid,.it-grid{grid-template-columns:1fr}.reminder-item{grid-template-columns:60px 1fr}.reminder-item .when-detail{white-space:normal;grid-column:2}.drawer{padding:16px 14px 32px}.toolbar .count{margin-left:auto}.stat-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.board{grid-auto-columns:82vw}}
