:root{color-scheme:light;--ink:#142b39;--muted:#526572;--primary:#08665e;--primary-hover:#064e48;--surface:#fff;--canvas:#f3f6f8;--line:#d9e2e7;--soft:#e5f2ee;--danger:#b12e39;--warning:#835506;--radius:18px;--shadow:0 8px 28px #1537470a;--space:8px;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--canvas);line-height:1.6;font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a{color:var(--primary);text-underline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(28px,4vw,44px);line-height:1.2;letter-spacing:-.04em;font-weight:650}h2{font-size:24px;line-height:1.35}h3{font-size:19px;line-height:1.4}p+p{margin-top:12px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #397fd0;outline-offset:3px}.muted{color:var(--muted)}.label{font-size:13px;font-weight:600;color:var(--muted)}.number{font-family:"SF Pro Display",system-ui,sans-serif;font-variant-numeric:tabular-nums}.stack{display:grid;gap:24px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spread{justify-content:space-between}.container{width:min(1160px,100% - 48px);margin-inline:auto}.topbar{background:var(--surface);border-bottom:1px solid var(--line);padding:20px 0}.brand{font-weight:750;letter-spacing:-.04em;font-size:22px}.content{padding-block:40px 64px}.section-head{margin-bottom:20px}.panel,.job-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);min-width:0;overflow-wrap:anywhere}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 20px;border:1px solid transparent;border-radius:12px;font-weight:600;text-decoration:none;background:var(--primary);color:#fff}.button:hover:not(:disabled){background:var(--primary-hover)}.button.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.button.ghost{background:transparent;color:var(--primary)}.button.danger{background:var(--danger);color:white}.field{display:grid;gap:8px;min-width:0}.field input,.field select,.field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #adbec7;border-radius:10px;background:white;color:var(--ink)}.field textarea{min-height:112px;resize:vertical}.field [aria-invalid=true]{border-color:var(--danger)}.field-error{color:var(--danger);font-size:14px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:4px 10px;border-radius:8px;background:var(--soft);color:var(--primary);font-weight:600}.badge.warning{background:#fff3d8;color:var(--warning)}.badge.danger{background:#ffedf0;color:var(--danger)}.badge.neutral{background:#edf1f4;color:var(--muted)}.state{padding:40px 24px;text-align:center;display:grid;justify-items:center;gap:12px}.state p{max-width:42ch;color:var(--muted)}.state-symbol{font-size:28px;width:56px;height:56px;display:grid;place-items:center;border:1px solid var(--line);border-radius:18px;color:var(--primary)}.skeleton{height:18px;border-radius:6px;background:#e6edf1;margin-block:12px;animation:pulse 1.5s ease-in-out infinite}.skeleton.short{width:55%}@keyframes pulse{50%{opacity:.45}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}
.evidence{border-left:3px solid var(--primary);padding:12px 16px;background:#f0f7f5;border-radius:0 10px 10px 0;font-size:14px}.job-card{display:grid;gap:16px}.job-card .salary{color:var(--primary);font-weight:700}.job-card footer{border-top:1px solid var(--line);padding-top:16px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.facts dt{font-size:13px;color:var(--muted)}.facts dd{margin:4px 0 0}.table{width:100%;border-collapse:collapse;text-align:left}.table th,.table td{padding:14px 12px;border-bottom:1px solid var(--line)}.table th{font-size:13px;color:var(--muted);font-weight:600}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button{background:transparent;border:0;border-radius:10px;padding:12px 16px;min-height:48px;color:var(--muted)}.tabs button[aria-selected=true]{background:var(--soft);color:var(--primary);font-weight:700}.pagination{display:flex;justify-content:center;gap:16px;align-items:center;margin-top:24px}.dialog{width:min(540px,calc(100% - 32px));max-height:85dvh;border:1px solid var(--line);border-radius:20px;padding:24px;color:var(--ink);box-shadow:0 24px 80px #142b3940;overflow:auto}.dialog::backdrop{background:#142b3980}.dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.dialog footer{margin-top:24px;display:flex;justify-content:flex-end;gap:12px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 20px;border-radius:12px;max-width:calc(100% - 32px);z-index:100}.toast[hidden]{display:none}.nav{display:flex;gap:8px}.nav a{padding:10px 14px;text-decoration:none;color:var(--muted)}.nav a[aria-current=page]{color:var(--primary);font-weight:700}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;padding:16px;z-index:200}
@media(max-width:700px){.container{width:calc(100% - 32px)}.content{padding-block:24px 40px}.grid{grid-template-columns:1fr;gap:16px}.panel,.job-card{padding:20px}.topbar{padding:16px 0}.row>.button{flex-shrink:0}.dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:90vh;max-height:90dvh;border-radius:24px 24px 0 0;padding:24px 20px calc(20px + env(safe-area-inset-bottom))}.dialog footer .button{flex:1}.mobile-actions{position:sticky;bottom:0;background:white;padding:16px 0 calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-actions>.button{flex:1}.student-nav{position:fixed;bottom:0;left:0;right:0;padding:8px 4px calc(8px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:white;border-top:1px solid var(--line);z-index:30}.student-nav a{font-size:12px;text-align:center;padding:12px 0;min-height:48px}.table.mobile-cards,.table.mobile-cards tbody,.table.mobile-cards tr,.table.mobile-cards td{display:block}.table.mobile-cards thead{display:none}.table.mobile-cards tr{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:8px}.table.mobile-cards td{display:flex;justify-content:space-between;gap:16px;border:0;padding:8px}.table.mobile-cards td:before{content:attr(data-label);color:var(--muted)}}
[hidden]{display:none!important}details>summary{cursor:pointer;min-height:48px;padding:12px 0;font-weight:600}details>.grid{margin-top:16px}
