
:root{--brand:#0b8f86;--brand-d:#07726a;--ink:#212b36;--muted:#637381;--bg:#f4f6f8;--card:#fff;--line:#dfe3e8;--link:#1a73c8;--amber:#b76e00;--amber-bg:#fff4e0}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 Roboto,Arial,sans-serif}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:3px solid #f2b84b;outline-offset:2px}
/* top bar */
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.top-in{max-width:1180px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:20px;height:56px}
.logo{font-weight:700;font-size:1.25rem;color:var(--brand);letter-spacing:-.3px;white-space:nowrap}
.logo span{color:var(--ink);font-weight:500}
.gsearch{flex:1;max-width:520px;position:relative}
.gsearch input{width:100%;height:36px;border:1px solid var(--line);border-radius:18px;padding:0 14px 0 38px;background:var(--bg);font:inherit}
.gsearch svg{position:absolute;left:12px;top:10px;width:16px;height:16px;fill:none;stroke:var(--muted);stroke-width:2}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{padding:17px 12px;color:var(--muted);font-weight:500;border-bottom:3px solid transparent}
.nav a.on{color:var(--brand);border-color:var(--brand)}
.nav a:hover{text-decoration:none;color:var(--ink)}
.me{width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:500}
/* layout */
.page{max-width:1240px;margin:0 auto;padding:32px 20px 64px;display:grid;grid-template-columns:240px 1fr 330px;gap:32px;align-items:start}
.card{background:var(--card);border:1px solid var(--line);border-radius:6px}
.side{padding:22px 22px}
.side h3,.rail h3{margin:0 0 8px;font-size:.95rem;font-weight:700}
.side fieldset{border:0;padding:0;margin:0 0 24px}
.side label{display:flex;gap:10px;align-items:center;padding:6px 0;cursor:pointer}
.side .n{margin-left:auto;color:var(--muted);font-size:.85rem}
.reset{background:none;border:0;color:var(--link);cursor:pointer;padding:0;font:inherit}
/* results */
.bar{display:flex;align-items:center;gap:14px;margin:8px 0 20px}
.bar h1{font-size:1.15rem;margin:0;font-weight:700}
.bar .count{color:var(--muted)}
.bar select{margin-left:auto;padding:6px 8px;border:1px solid var(--line);border-radius:4px;background:#fff;font:inherit}
.res{list-style:none;margin:0;padding:0;display:grid;gap:24px}
.person{display:flex;gap:24px;padding:28px 28px 24px;box-shadow:0 1px 2px rgba(33,43,54,.05)}
.av{flex:none;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:1.5rem;font-weight:500}
.pb{flex:1;min-width:0}
.pb h2{margin:0;font-size:1.1rem;font-weight:500}
.sub{color:var(--muted)}
.id{font-size:.82rem;color:var(--muted)}
.id b{color:#7ab51d;font-weight:700}
.int{margin:14px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line);background:#f9fafb;border-radius:12px;padding:1px 10px;font-size:.82rem}
.chip.h{background:var(--amber-bg);border-color:#f0c77c;color:var(--amber);font-family:ui-monospace,Menlo,monospace;cursor:pointer}
.stats{display:flex;gap:28px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.stats div{font-size:.8rem;color:var(--muted)}
.stats b{display:block;font-size:1.05rem;color:var(--ink);font-weight:500}
.act{display:flex;flex-direction:column;gap:10px;align-items:stretch;width:124px}
.btn{height:34px;border-radius:16px;border:1px solid var(--brand);background:#fff;color:var(--brand);font:500 .85rem Roboto,sans-serif;cursor:pointer}
.btn.p{background:var(--brand);color:#fff}.btn.p:hover{background:var(--brand-d)}
.btn[disabled]{opacity:.6;cursor:default}
/* right rail */
.rail{padding:22px;margin-bottom:24px}
.rail .hint{color:var(--muted);font-size:.85rem;margin:0 0 10px}
.acct{border:1px solid #f0c77c;background:var(--amber-bg);border-radius:6px;padding:10px 12px;margin-bottom:10px}
.acct.ret{border-color:var(--line);background:#f1f3f5}
.acct code{font:700 .95rem ui-monospace,Menlo,monospace}
.badge{float:right;font-size:.72rem;padding:1px 8px;border-radius:10px;background:#fff;border:1px solid currentColor;color:var(--amber)}
.acct.ret .badge{color:var(--muted)}
.acct dl{margin:6px 0 0;font-size:.82rem}
.acct dt{color:var(--muted);margin-top:4px}.acct dd{margin:0}
.empty,.error{padding:20px;text-align:center}
.error{border-color:#c0392b;text-align:left}
footer{max-width:1180px;margin:0 auto;padding:0 16px 32px;color:var(--muted);font-size:.82rem}
@media (max-width:1060px){.page{grid-template-columns:1fr;gap:24px}.tiles{grid-template-columns:1fr 1fr 1fr}.nav a:not(.on){display:none}.act{width:auto;flex-direction:row}}
@media (max-width:560px){.person{flex-wrap:wrap;padding:20px}.tiles{grid-template-columns:1fr}.av{width:56px;height:56px;font-size:1.2rem}.stats{gap:14px}.gsearch{display:none}.nav{margin-left:auto}}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:8px}
.tile{padding:18px 20px}.tile b{display:block;font-size:1.6rem;font-weight:500;color:var(--brand)}.tile span{color:var(--muted);font-size:.85rem}
.vt{display:inline-block;width:16px;height:16px;vertical-align:-2px;margin-left:6px;fill:#1a73c8}
.pub{margin:14px 0 0;padding:10px 14px;background:#f7f9fb;border-left:3px solid var(--brand);border-radius:0 4px 4px 0;font-size:.9rem}
.pub small{display:block;color:var(--muted)}
.act-line{margin-top:12px;font-size:.82rem;color:var(--muted)}
.btn.o{display:grid;place-items:center;text-decoration:none}.btn.o:hover{background:#eef8f7;text-decoration:none}
.prj{padding:10px 0;border-top:1px solid var(--line)}.prj:first-of-type{border-top:0}.prj b{font-weight:500}.prj div{color:var(--muted);font-size:.85rem}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2ea44f;margin-right:6px}

.wrap{max-width:1240px;margin:0 auto;padding:32px 20px 64px}
.hero{background:linear-gradient(120deg,#0b8f86,#1a73c8);color:#fff;border-radius:8px;padding:48px 40px;margin-bottom:24px}
.hero h1{margin:0 0 10px;font-size:2rem;line-height:1.25;font-weight:700;max-width:680px}.hero p{margin:0 0 22px;max-width:620px;font-size:1.05rem;opacity:.92}
.hero form{display:flex;gap:10px;max-width:560px}.hero input{flex:1;height:44px;border:0;border-radius:22px;padding:0 18px;font:inherit}
.hero button{height:44px;border:0;border-radius:22px;padding:0 22px;background:#16233a;color:#fff;font:500 .95rem Roboto,sans-serif;cursor:pointer}
.banner{display:flex;align-items:center;gap:16px;padding:16px 22px;margin-bottom:32px;background:var(--amber-bg);border-color:#f0c77c}.banner a{margin-left:auto;font-weight:500}
.cols{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
.sec{margin:0 0 36px}.sec>h2{font-size:1.2rem;margin:0 0 16px;font-weight:700}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mini{padding:20px}.mini h3{margin:0 0 4px;font-size:1rem;font-weight:500}.mini p{margin:8px 0 0;color:var(--muted);font-size:.9rem}
.feed{list-style:none;margin:0;padding:0}.feed li{padding:16px 0;border-top:1px solid var(--line)}.feed li:first-child{border-top:0;padding-top:0}
.feed b{font-weight:500}.feed small{color:var(--muted)}.feed p{margin:4px 0 0;color:#454f5b}
.ev{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line)}.ev:first-of-type{border-top:0}
.date{flex:none;width:52px;text-align:center;border:1px solid var(--line);border-radius:6px;padding:4px 0;line-height:1.2}.date b{display:block;font-size:1.2rem;color:var(--brand)}.date span{font-size:.72rem;color:var(--muted);text-transform:uppercase}
.pc{padding:24px 26px;margin-bottom:20px}.pc h2{margin:0 0 4px;font-size:1.1rem;font-weight:500}
.meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:.88rem;margin:6px 0 10px}
.st{display:inline-block;padding:1px 10px;border-radius:12px;font-size:.78rem;font-weight:500;border:1px solid}
.st.Open{color:#1e7e34;border-color:#a8d5b1;background:#eef8f0}.st.Ongoing{color:#8a6100;border-color:#efd59a;background:#fff7e0}.st.Closed{color:#637381;border-color:var(--line);background:#f1f3f5}
.pc dl{display:grid;grid-template-columns:120px 1fr;gap:6px 16px;margin:12px 0 0;font-size:.9rem}.pc dt{color:var(--muted)}.pc dd{margin:0}
.pc .foot{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.pc .foot .btn{width:120px;padding:0}
.pc .foot span{color:var(--muted);font-size:.85rem}
.pbank{display:grid;grid-template-columns:240px 1fr;gap:32px;align-items:start}
@media (max-width:1060px){.cols,.pbank{grid-template-columns:1fr}.grid3{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.grid3{grid-template-columns:1fr}.hero{padding:32px 22px}.hero form{flex-direction:column}}
