*{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Regular.woff2)format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Medium.woff2)format("woff2");font-weight:500;font-style:normal}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal}@font-face{font-family:Pretendard;src:url(/fonts/Pretendard-Bold.woff2)format("woff2");font-weight:700;font-style:normal}body{color:#222;background:#f5f6f8;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}.app{max-width:1100px;margin:0 auto;padding:24px 16px}.header{text-align:center;margin-bottom:32px}.title{margin-bottom:6px;font-size:26px;font-weight:700}.subtitle{color:#888;font-size:15px}.bookmark-toggle{color:#888;cursor:pointer;background:0 0;border:2px solid #e0e0e0;border-radius:20px;margin-top:10px;padding:6px 14px;font-size:13px;transition:all .2s}.bookmark-toggle:hover{color:#c90;border-color:gold}.bookmark-toggle.active{color:#c90;background:#fff8e1;border-color:gold}.bookmark-panel{background:#fff;border-radius:12px;margin-bottom:24px;padding:20px;box-shadow:0 1px 4px #00000014}.bookmark-header{border-bottom:1px solid #eee;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.bookmark-header h2{font-size:17px;font-weight:700}.backup-btn{color:#666;cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:4px;padding:4px 10px;font-size:12px;transition:all .2s}.backup-btn:hover{color:#4a90d9;border-color:#4a90d9}.bookmark-memo{z-index:1;background:#fafafa;border:1px solid #eee;border-radius:4px;outline:none;width:100%;margin-top:6px;padding:4px 8px;font-family:inherit;font-size:13px;transition:border-color .2s;position:relative}.bookmark-memo:focus{background:#fff;border-color:#4a90d9}.bookmark-memo-row{gap:4px;margin-top:6px;display:flex}.memo-save-btn{color:#fff;cursor:pointer;white-space:nowrap;z-index:1;background:#4a90d9;border:1px solid #4a90d9;border-radius:4px;padding:4px 10px;font-size:12px;position:relative}.memo-save-btn:hover{background:#357abd}.memo-list{margin-top:8px}.memo-item{background:#f5f5f5;border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 8px;font-size:14px;display:flex}.memo-item span{word-break:break-all;flex:1}.memo-del{color:#ccc;cursor:pointer;z-index:1;background:0 0;border:none;padding:0 4px;font-size:16px;position:relative}.memo-del:hover{color:#d32f2f}.search-section{background:#fff;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 1px 4px #00000014}.search-row{gap:8px;margin-bottom:16px;display:flex}.search-input{border:2px solid #e0e0e0;border-radius:8px;outline:none;flex:1;height:48px;padding:0 16px;font-size:16px;transition:border-color .2s}.search-input:focus{border-color:#4a90d9}.search-btn{color:#fff;cursor:pointer;background:#4a90d9;border:none;border-radius:8px;justify-content:center;align-items:center;width:90px;height:48px;font-size:16px;font-weight:600;transition:background .2s;display:flex}.search-btn:hover{background:#357abd}.search-btn:disabled{cursor:not-allowed;background:#999}.reset-btn{color:#888;cursor:pointer;background:0 0;border:2px solid #e0e0e0;border-radius:8px;height:48px;padding:0 16px;font-size:14px;transition:all .2s}.reset-btn:hover{color:#555;border-color:#999}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.filter-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-label{color:#666;font-size:13px;font-weight:600}.site-toggles{gap:8px;display:flex}.site-btn{cursor:pointer;color:#555;border:2px solid #ddd;border-radius:20px;padding:6px 16px;font-size:13px;font-weight:600;transition:all .2s}.site-btn.active{color:#fff}.error-msg{color:#d32f2f;background:#fff0f0;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.results-section{flex-direction:column;gap:24px;margin-bottom:24px;display:flex}.site-result{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px #00000014}.site-header{border-bottom:1px solid #eee;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;display:flex}.site-name{font-size:17px;font-weight:700}.job-count{color:#888;background:#f0f0f0;border-radius:10px;padding:2px 10px;font-size:13px}.site-error{color:#d32f2f;margin-left:auto;font-size:13px}.job-grid{gap:10px;display:grid}.job-card{color:inherit;border:1px solid #eee;border-radius:8px;padding:14px 16px;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:block;position:relative}.job-card:hover{border-color:#4a90d9;box-shadow:0 2px 8px #4a90d91f}.bookmark-btn{color:#ccc;cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:20px;line-height:1;transition:color .2s,transform .2s;position:absolute;top:8px;right:8px}.bookmark-btn:hover{color:gold;transform:scale(1.2)}.bookmark-btn.bookmarked{color:gold}.bookmark-remove{color:#ccc;cursor:pointer;font-size:12px;transition:color .2s;position:absolute;top:8px;right:40px}.bookmark-remove:hover{color:#d32f2f}.job-company{color:#888;margin-bottom:4px;font-size:16px;font-weight:600}.job-title{margin-bottom:6px;font-size:19px;font-weight:600;line-height:1.4}.job-meta{color:#999;gap:12px;font-size:16px;display:flex}.job-deadline{color:#d32f2f;margin-top:4px;font-size:16px;font-weight:600}.job-salary{color:#2e7d32;font-size:16px;font-weight:600}.job-term{color:#888;margin-top:2px;font-size:15px}.job-posted{color:#aaa;margin-top:2px;font-size:15px}.job-applicants{color:#888;margin-top:2px;font-size:15px}.no-results{color:#999;text-align:center;padding:20px 0;font-size:14px}.dup-badge{color:#fff;vertical-align:middle;background:#ff5722;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;line-height:1.4;display:inline-block}.summary{text-align:center;color:#666;background:#fff;border-radius:8px;padding:16px;font-size:14px;box-shadow:0 1px 4px #00000014}@media (width>=768px){.job-grid{grid-template-columns:repeat(2,1fr)}}
