:root{color-scheme:light dark;--border: #d8d8d8;--accent: #2563eb;--bg-muted: #f5f5f7;font-family:system-ui,-apple-system,Segoe UI,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:canvas;color:canvastext}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#app{display:flex;flex-direction:column;min-height:100vh}.app-header{position:sticky;top:0;z-index:1;background:canvas;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.app-header h1{font-size:1.1rem;margin:0 0 .6rem}.filters{display:flex;gap:.6rem;flex-wrap:wrap}#category-select,#search{padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;font-size:.95rem;background:canvas;color:canvastext}#category-select{flex:1 1 160px;min-width:140px}#search{flex:2 1 200px;min-width:160px}.app-main{flex:1;display:flex;flex-direction:column;min-width:0}.job-list{margin:0;padding:.5rem;border:none;border-bottom:1px solid var(--border);max-height:42vh;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.job-list-item{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border-radius:6px;font-size:.95rem;cursor:pointer}.job-list-item input[type=radio]{flex-shrink:0;width:1.1rem;height:1.1rem;accent-color:var(--accent)}.job-list-item:hover{background:var(--bg-muted)}.job-list-item.is-selected{background:var(--accent);color:#fff}.job-list-empty{padding:.7rem;color:#888;font-size:.9rem}.job-detail{flex:1;overflow-y:auto;padding:1.25rem 1.25rem 2rem}.job-detail-placeholder,.job-detail-error{color:#888}.job-detail h2{margin-top:0}.job-detail-source a{font-size:.85rem;color:var(--accent)}.stat-table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.9rem;display:block;overflow-x:auto}.stat-table th,.stat-table td{border:1px solid var(--border);padding:.4rem .6rem;text-align:left;vertical-align:top}.stat-table th{width:12rem;background:var(--bg-muted);font-weight:600;white-space:nowrap}.stat-sub{display:inline-block;margin-right:1rem}.job-detail h3{margin-bottom:.3rem}.job-detail p{margin:0 0 .6rem;line-height:1.7;white-space:pre-wrap}@media (min-width: 700px){.app-header{padding:.85rem 1.5rem}.app-header h1{font-size:1.25rem}.job-detail{padding:1.5rem 2rem 2.5rem}}
