:root{--ink:#072554;--paper:#f7f0df;--accent:#d98c44;--line:#d8c8a8}*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;background:var(--paper)}main{max-width:900px;margin:auto;padding:32px 20px}h1{font-size:clamp(28px,5vw,54px);margin:.2em 0}.sub{opacity:.75}.card{background:#fffaf0;border:2px solid var(--line);border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 10px 24px #07255412}label{display:block;font-weight:700;margin:15px 0 7px}input,select,button{font:inherit;padding:13px 14px;border-radius:10px;border:1px solid #b9a983;width:100%}button{cursor:pointer;background:var(--ink);color:white;border:0;font-weight:700;margin-top:18px}button:disabled{opacity:.55}.ok{color:#287a42;font-weight:700}.err{color:#a12d2d;font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.dept{background:#fffaf0;border:2px solid var(--line);border-radius:16px;padding:15px;min-height:190px}.dept h2{font-size:20px;margin:0 0 10px}.names{display:flex;flex-wrap:wrap;gap:7px}.name{padding:5px 8px;background:#f3d8a5;border-radius:7px;font-size:15px}.bar{display:flex;gap:10px;align-items:center;justify-content:space-between}.bar a{color:var(--ink)}body.pulse .dept{animation:pop .7s ease}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.025);box-shadow:0 0 0 8px #d98c4438}100%{transform:scale(1)}}@media(max-width:700px){.grid{grid-template-columns:repeat(2,1fr)}}
