:root{--primary:#ff5a1f;--primary-pressed:#e94d16;--primary-light:#fff4ef;--primary-soft:#fff8f5;--text:#222;--regular:#555;--muted:#999;--page:#f7f7f8;--card:#fff;--border:#eee;--success:#1fc48d}
*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;font-family:"PingFang SC","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--page);color:var(--text)}a{color:inherit}.site-header{height:60px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.header-inner{max-width:1180px;height:100%;margin:auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:650}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--primary);color:#fff;font-size:17px}.header-note{color:var(--muted);font-size:13px}.hero{background:linear-gradient(135deg,#fff 0%,var(--primary-soft) 100%);border-bottom:1px solid #f5e5de}.hero-inner{max-width:1180px;margin:auto;padding:36px 24px 30px}.eyebrow{color:var(--primary);font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}.hero h1{font-size:32px;line-height:1.25;margin:0 0 10px;font-weight:650}.subtitle{margin:0;max-width:780px;color:var(--regular);font-size:15px;line-height:1.7}.back-link{display:inline-flex;margin-bottom:22px;color:var(--regular);font-size:14px;text-decoration:none}.back-link:hover{color:var(--primary)}.container{max-width:1180px;margin:auto;padding:28px 24px 56px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:2px 0 16px}.section-heading>div{display:flex;align-items:center;gap:10px}.section-heading h2{margin:0;font-size:20px}.section-heading>span{font-size:13px;color:var(--muted)}.section-index{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--primary-light);color:var(--primary);font-size:12px;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:0 5px 18px rgba(34,34,34,.035)}.card:hover{border-color:#f6b28f;box-shadow:0 8px 24px rgba(255,90,31,.08)}.card-kicker{color:var(--primary);font-size:12px;font-weight:600;margin-bottom:8px}.card h2,.card h3{font-size:18px;line-height:1.4;margin:0 0 8px}.card p{color:var(--regular);font-size:14px;line-height:1.65;margin:0;min-height:46px}.meta{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:15px;color:var(--muted);font-size:12px}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:8px;background:var(--primary);color:#fff;text-decoration:none;font-size:14px;font-weight:600}.btn:hover{background:var(--primary-pressed)}.btn.secondary{background:var(--primary-light);color:var(--primary)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.tags span{padding:3px 7px;border-radius:4px;background:#fafafa;color:#777;font-size:11px;border:1px solid #f1f1f1}.role{align-self:flex-start;display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:4px;background:var(--primary-light);color:var(--primary-pressed);font-size:11px;font-weight:600;margin-bottom:10px}.role.main{background:#edfff7;color:#087a50}.role.unassigned{background:#fff7e8;color:#b76e00}.role.catalog{background:#f2f4f7;color:#555}.directory-section+.directory-section{margin-top:30px}.directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:14px}.directory-card{display:flex;align-items:center;justify-content:space-between;min-height:112px;padding:17px;background:#fff;border:1px solid var(--border);border-radius:8px;text-decoration:none}.directory-card:hover{border-color:#f6b28f;background:var(--primary-soft)}.directory-type{font-size:11px;color:var(--primary);font-weight:600}.directory-card h3{font-size:18px;margin:6px 0 4px}.directory-card p{margin:0;color:var(--muted);font-size:12px}.directory-arrow{font-size:22px;color:var(--primary)}.directory-card.unassigned .directory-type{color:#b76e00}.project-summary{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.project-summary span,.project-summary a{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:13px;text-decoration:none}.project-summary strong{color:var(--primary)}.project-summary a{margin-left:auto;color:var(--primary);font-weight:600}.search-heading{margin-top:30px}.filter-panel{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(150px,.6fr) minmax(150px,.6fr) auto;gap:12px;align-items:end;padding:16px;margin-bottom:16px;background:#fff;border:1px solid var(--border);border-radius:8px}.filter-panel label{display:block;margin-bottom:7px;color:var(--regular);font-size:12px}.filter-panel input,.filter-panel select{width:100%;height:40px;border:1px solid #ddd;border-radius:8px;background:#fff;padding:0 11px;color:var(--text);font:inherit;font-size:14px;outline:none}.filter-panel input:focus,.filter-panel select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.reset-btn{height:40px;padding:0 14px;border:1px solid #ddd;border-radius:8px;background:#fff;color:var(--regular);font:inherit;font-size:13px;cursor:pointer}.reset-btn:hover{border-color:var(--primary);color:var(--primary)}.filter-empty{padding:36px 0;text-align:center}.empty{color:var(--muted);font-size:14px}.site-footer{max-width:1180px;margin:auto;padding:0 24px 28px;color:var(--muted);font-size:12px;text-align:center}
@media(max-width:720px){.header-inner,.hero-inner,.container{padding-left:16px;padding-right:16px}.hero-inner{padding-top:28px}.hero h1{font-size:26px}.header-note{display:none}.grid{grid-template-columns:1fr}.directory-grid{grid-template-columns:1fr 1fr}.filter-panel{grid-template-columns:1fr}.project-summary a{margin-left:0}.card p{min-height:0}}
@media(max-width:460px){.directory-grid{grid-template-columns:1fr}.site-header{height:54px}.project-summary span,.project-summary a{width:calc(50% - 5px)}}
