:root{--accent: #3366ff;--accent-soft: rgba(51, 102, 255, .08);--ink: #111;--sub: #666;--line: #eee;--card-radius: 16px;--danger: #e8344a;--warn: #f28c1d;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}body{margin:0;font-family:var(--font);color:var(--ink);background:#fff;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.container{max-width:1080px;margin:0 auto;padding:0 20px}@media (min-width: 1024px){.container{max-width:1240px}}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-shell main{flex:1}.site-header{position:sticky;top:0;z-index:20;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px}.brand-logo{height:28px;width:auto;border-radius:6px}.brand-suffix{color:var(--sub);font-weight:400;font-size:14px}.header-nav{display:flex;align-items:center;gap:4px}.employers-link{font-size:14px;font-weight:600;color:var(--sub);padding:8px 12px;border-radius:999px;transition:color .15s ease,background .15s ease}.employers-link:hover{color:var(--accent);background:var(--accent-soft)}.saved-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--ink);padding:8px 12px;border-radius:999px;transition:background .15s ease}.saved-link:hover{background:var(--accent-soft)}.saved-link span[aria-hidden]{color:var(--danger)}.saved-count{background:var(--accent);color:#fff;border-radius:999px;font-size:12px;min-width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.hero{padding:56px 0 32px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fafbff)}.hero-title{font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:-.02em;margin:0 0 24px;text-align:center}.hero-accent{color:var(--accent)}.search-bar{display:flex;gap:8px;max-width:560px;margin:0 auto 20px;padding:6px;border:2px solid var(--accent);border-radius:999px;background:#fff}.search-input{flex:1;border:none;outline:none;font-size:15px;font-family:inherit;padding:8px 14px;background:transparent;min-width:0}.chip-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 16px;font-size:14px;color:var(--sub);transition:all .15s ease}.chip:hover{border-color:var(--accent);color:var(--accent)}.chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.filter-chip-wrap{position:relative}.filter-chip{display:inline-flex;align-items:center;gap:6px}.chip-caret{font-size:10px;line-height:1;opacity:.7}.filter-dropdown{position:absolute;z-index:30;top:calc(100% + 8px);left:0;min-width:220px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #1111111f;padding:8px;text-align:left}.filter-options{list-style:none;margin:0 0 8px;padding:0;max-height:260px;overflow-y:auto}.filter-option{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:14px;cursor:pointer}.filter-option:hover{background:var(--accent-soft)}.filter-option input{accent-color:var(--accent);margin:0}.filter-dropdown-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:8px}.btn-sm{padding:7px 16px;font-size:13px}.section{margin:36px 0 44px}.section-title{font-size:21px;font-weight:700;letter-spacing:-.01em;margin:0 0 16px}.section-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.section-head .section-title{margin:0}.filter-bar{display:flex;gap:8px;flex-wrap:wrap}.filter-bar select{border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px;font-family:inherit;color:var(--ink);background:#fff}.job-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.job-card{position:relative;border:1px solid var(--line);border-radius:var(--card-radius);padding:18px;background:#fff;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.job-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #11111114;border-color:transparent}.job-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:26px;margin-bottom:8px}.job-card-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.job-card-title{font-size:17px;font-weight:700;margin:0 0 6px;line-height:1.35}.job-card-title a:after,.job-card-title .job-card-select:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius)}.job-card-select{border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left}.job-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset;background:var(--accent-soft)}.job-card-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.hide-btn{position:relative;z-index:2;border:none;background:transparent;font-size:15px;line-height:1;color:#c3c6cf;padding:4px 6px;border-radius:6px;transition:color .15s ease,background .15s ease}.hide-btn:hover{color:var(--ink);background:#f4f5f7}.split-view{display:grid;grid-template-columns:420px minmax(0,1fr);gap:20px;align-items:start}.split-list{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 140px);overflow-y:auto;padding-right:4px}.split-panel{position:sticky;top:84px;max-height:calc(100vh - 140px);overflow-y:auto;border:1px solid var(--line);border-radius:var(--card-radius);padding:24px;background:#fff;box-shadow:0 4px 16px #1111110a}.job-panel-split{display:flex;flex-direction:column;gap:16px}.job-panel-split .apply-card{order:-1;position:static;border:none;box-shadow:none;padding:0;flex-direction:row;align-items:center}.job-panel-split .btn-apply{width:auto;flex:1}.job-panel-split .detail-title{font-size:24px;margin-top:8px}.job-panel-split .detail-description{font-size:14px}.hidden-slot{display:flex;align-items:center;gap:8px;border:1px dashed var(--line);border-radius:var(--card-radius);padding:14px 18px;font-size:14px;color:var(--sub)}.hidden-controls{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--sub)}.link-btn{border:none;background:none;padding:0;font:inherit;font-weight:600;color:var(--accent);text-decoration:underline}.company-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.company-avatar{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.company-name{font-weight:700;font-size:15px}.job-card-meta{font-size:13px;color:var(--sub);margin:0 0 12px}.heart-btn{position:relative;z-index:2;border:none;background:transparent;font-size:20px;line-height:1;color:#c3c6cf;padding:2px 4px;transition:color .15s ease,transform .15s ease}.heart-btn:hover{color:var(--danger);transform:scale(1.12)}.heart-btn.is-saved{color:var(--danger)}.pill-row{display:flex;gap:6px;flex-wrap:wrap}.pill{background:#f4f5f7;color:var(--sub);border-radius:8px;padding:4px 10px;font-size:12px;font-weight:500}.badge{display:inline-flex;align-items:center;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700;line-height:1.3}.badge-urgent{background:var(--danger);color:#fff}.badge-dday{border:1px solid var(--warn);color:var(--warn);background:#fff}.badge-closed{background:#f4f5f7;color:var(--sub)}.badge-open{border:1px solid var(--line);color:var(--sub);background:#fff;font-weight:500}.badge-new{color:var(--accent);background:var(--accent-soft)}.badge-new:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:5px}.hscroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.hscroll-item{flex:0 0 280px;scroll-snap-align:start}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:999px;padding:10px 22px;font-size:15px;font-weight:600;border:1px solid transparent;transition:all .15s ease}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{filter:brightness(.92)}.btn-outline{background:#fff;border-color:var(--line);color:var(--ink)}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn:disabled{opacity:.55;cursor:default}.load-more-wrap{display:flex;justify-content:center;margin-top:24px}.detail-page{padding:32px 20px 64px}.detail-layout{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}.detail-title{font-size:clamp(26px,4vw,36px);font-weight:800;letter-spacing:-.02em;margin:12px 0 8px}.detail-meta{color:var(--sub);font-size:14px;margin:0 0 12px}.detail-deadline{display:flex;align-items:center;gap:8px;margin:0 0 24px}.detail-deadline-date{color:var(--sub);font-size:13px}.detail-description{white-space:pre-wrap;font-size:15px;line-height:1.75;border-top:1px solid var(--line);padding-top:24px}.related-grid{grid-template-columns:repeat(3,1fr)}.apply-card{position:sticky;top:84px;border:1px solid var(--line);border-radius:var(--card-radius);padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 16px #1111110a;background:#fff}.btn-apply{width:100%;padding:13px 22px;font-size:16px}.apply-actions{display:flex;gap:8px}.apply-actions .btn{flex:1;padding:10px 8px;font-size:14px}.heart-btn-lg.is-saved{color:var(--danger);border-color:var(--danger)}.saved-page{padding:32px 20px 64px}.saved-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.saved-item{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:var(--card-radius);padding:16px 20px}.saved-item.is-closed{opacity:.65}.saved-item-title{font-weight:700;font-size:16px}.saved-item-title:hover{color:var(--accent)}.saved-item-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.state-box{text-align:center;padding:56px 20px;border:1px dashed var(--line);border-radius:var(--card-radius);margin:8px 0}.state-title{font-size:17px;font-weight:700;margin:0 0 6px}.state-sub{color:var(--sub);font-size:14px;margin:0 0 16px}.skeleton{background:linear-gradient(90deg,#f2f3f5 25%,#e9eaee 37%,#f2f3f5 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:8px}.skeleton-line{height:14px;margin-bottom:12px}.skeleton-line.w40{width:40%}.skeleton-line.w60{width:60%}.skeleton-line.w80{width:80%}.skeleton-block{height:180px;margin-top:20px}.skeleton-card{pointer-events:none}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.site-footer{border-top:1px solid var(--line);margin-top:48px}.footer-inner{display:flex;align-items:center;justify-content:space-between;padding:20px;font-size:13px;color:var(--sub)}.footer-powered{font-size:12px}@media (max-width: 1023px){.split-view{grid-template-columns:1fr}.split-list,.split-panel{max-height:none;overflow:visible;position:static}.split-panel{display:none}.job-grid{grid-template-columns:1fr}.related-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.detail-layout{grid-template-columns:1fr;gap:0}.detail-page{padding-bottom:120px}.apply-card{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:30;flex-direction:row;align-items:center;border-radius:0;border:none;border-top:1px solid var(--line);box-shadow:0 -6px 20px #11111114;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.btn-apply{flex:1}.apply-actions,.apply-actions .btn{flex:0 0 auto}}@media (max-width: 640px){.job-grid,.related-grid{grid-template-columns:1fr}.hero{padding-top:36px}.saved-item{flex-direction:column;align-items:flex-start}}
