.hub-page{color:#eaf4f2;background:radial-gradient(1200px 600px at 80% -10%,#16403c 0%,#0000 60%),linear-gradient(#0f2a28 0%,#0b201e 100%);min-height:100vh}.hub{max-width:1180px;margin:0 auto;padding:56px 32px 70px}.hub-head{align-items:center;gap:16px;margin-bottom:8px;display:flex}.hub-head .mark{background:linear-gradient(150deg, #1aa093, var(--teal));border-radius:16px;flex:none;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 10px 30px #0a504880}.hub-head .mark svg{color:#fff;width:30px;height:30px}.hub-head h1{letter-spacing:-.5px;white-space:nowrap;margin:0;font-size:clamp(20px,2.3vw,27px);font-weight:800;line-height:1.25}.hub-head .sub{color:#8fb5b0;white-space:nowrap;margin-top:4px;font-size:14px}.hub-intro{color:#a9c8c4;max-width:70ch;margin:22px 0 18px;font-size:15px;line-height:1.8}.ribbon{background:#ffffff0a;border:1px solid #ffffff17;border-radius:18px;align-items:stretch;gap:0;margin-bottom:40px;padding:20px 22px;display:flex}.ribbon .rstep{flex-direction:column;flex:1;gap:9px;padding:0 14px;display:flex;position:relative}.ribbon .rstep .ri{border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.ribbon .rstep .ri svg{width:21px;height:21px}.ribbon .rstep .rk{letter-spacing:.4px;opacity:.6;font-size:11px;font-weight:800}.ribbon .rstep .rt{font-size:14px;font-weight:700}.ribbon .rstep .rd{color:#8fb5b0;font-size:12px;line-height:1.5}.ribbon .rstep:not(:last-child):after{content:"‹";inset-inline-start:-6px;color:#3d5d59;font-size:22px;position:absolute;top:14px}.ri.green{color:#5fd98a;background:#157f3b33}.ri.teal{color:#5fe6d4;background:#24c4b229}.ri.amber{color:#ffb74d;background:#e0850f33}.ri.red{color:#ff9b96;background:#d6504b33}.ri.blue{color:#8fc0ff;background:#508ce633}.grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.rolecard{background:var(--surface);color:var(--ink);border:1px solid #ffffff14;border-radius:18px;flex-direction:column;text-decoration:none;transition:all .18s;display:flex;overflow:hidden;box-shadow:0 14px 40px #00000047}.rolecard:hover{transform:translateY(-3px);box-shadow:0 22px 54px #0000005c}.rolecard .rc-top{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:15px;padding:22px 22px 16px;display:flex}.rolecard .rc-ic{border-radius:14px;flex:none;place-items:center;width:50px;height:50px;display:grid}.rolecard .rc-ic svg{width:25px;height:25px}.rolecard .rc-ic.teal{background:var(--teal-tint);color:var(--teal)}.rolecard .rc-ic.amber{background:var(--amber-tint);color:var(--amber)}.rolecard .rc-ic.red{background:var(--red-tint);color:var(--red)}.rolecard .rc-ic.blue{color:#2456a6;background:#e4eefb}.rolecard .rc-top>div:not(.rc-ic):not(.chip-route){flex:1;min-width:0}.rolecard h3{white-space:nowrap;margin:0;font-size:16.5px;font-weight:800;line-height:1.3}.rolecard .role{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:12.5px;font-weight:600}.rolecard .rc-body{flex:1;padding:16px 22px 18px}.rolecard .rc-body p{color:var(--ink-2);margin:0 0 14px;font-size:13.5px;line-height:1.7}.rolecard .feats{flex-wrap:wrap;gap:7px;display:flex}.rolecard .feat{color:var(--ink-2);background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:4px 11px;font-size:11.5px;font-weight:700}.rolecard .rc-foot{background:var(--surface-2);border-top:1px solid var(--hairline);color:var(--teal-strong);align-items:center;gap:8px;padding:13px 22px;font-size:13.5px;font-weight:800;display:flex}.rolecard .rc-foot svg{width:17px;height:17px;transition:all .18s}.rolecard:hover .rc-foot svg{transform:translate(-4px)}.rolecard .chip-route{white-space:nowrap;border-radius:20px;flex:none;align-items:center;gap:6px;margin-inline-start:auto;padding:3px 10px;font-size:11px;font-weight:800;display:inline-flex}.rolecard .chip-route .d{border-radius:50%;width:7px;height:7px}.chip-route.g{background:var(--green-tint);color:var(--green)}.chip-route.g .d{background:var(--green)}.chip-route.y{background:var(--amber-tint);color:var(--amber)}.chip-route.y .d{background:var(--amber-bright)}.chip-route.r{background:var(--red-tint);color:var(--red)}.chip-route.r .d{background:var(--red)}.chip-route.b{color:#2456a6;background:#e4eefb}.chip-route.b .d{background:#2456a6}.hub-foot{text-align:center;color:#6f928d;margin-top:40px;font-size:12.5px}
