:root{--paper:#F2F3F1;--card:#fff;--ink:#0F2C44;--ink-2:#3C4C5C;--ink-3:#7A8794;--rule:#D5DAD6;--teal:#2C7960;--teal-soft:#DCEDE5;--yellow:#F5B82E;--yellow-soft:#FBEFCF;--sans:'IBM Plex Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
a{color:var(--teal)}
nav.top{display:flex;align-items:center;gap:32px;padding:18px 40px;border-bottom:3px solid var(--ink);background:var(--paper);position:sticky;top:0;z-index:5}
nav.top .brand{font-weight:700;color:var(--ink);text-decoration:none;font-size:18px}
nav.top .links{display:flex;gap:22px;flex:1}nav.top .links a{color:var(--ink-2);text-decoration:none;font-weight:500}nav.top .links a:hover{color:var(--teal)}
.status-pill{font-family:var(--mono);font-size:12px;background:var(--yellow-soft);color:#8A5F00;padding:4px 10px;border-radius:3px}
main{max-width:1240px;margin:0 auto;padding:36px 40px 80px}
footer{max-width:1240px;margin:0 auto;padding:18px 40px 60px;border-top:1px solid var(--rule);display:flex;justify-content:space-between;gap:30px;font-family:var(--mono);font-size:12px;color:var(--ink-3)}
.hero{display:grid;grid-template-columns:360px 1fr;gap:36px;align-items:start;margin-bottom:44px;padding-bottom:36px;border-bottom:1px solid var(--rule)}
.hero h1{font-size:40px;line-height:1.08;letter-spacing:-.01em}.hero p{color:var(--ink-2);margin:16px 0 22px}
.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:10px 18px;border-radius:3px;font-weight:600;font-size:14px}
.filters{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink-3);margin-bottom:8px}
.filters button{font-family:var(--sans);font-size:13px;padding:6px 12px;border:1px solid var(--rule);background:#fff;border-radius:3px;cursor:pointer;color:var(--ink-2)}
.filters button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
h2.grp{font-size:24px;font-weight:600;margin-top:36px}h2.grp em{font-style:normal;font-size:14px;color:var(--ink-3);margin-left:8px}
.grp-d{color:var(--ink-2);margin:4px 0 14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.card{display:flex;flex-direction:column;gap:10px;background:var(--card);border:1px solid var(--rule);border-left:5px solid var(--rule);padding:16px 18px;text-decoration:none;color:var(--ink);transition:border-color .15s}
.card:hover{border-color:var(--ink-3)}
.card.cand-screen{border-left-color:var(--yellow)}.card.cand{border-left-color:var(--yellow-soft)}.card.admitted{border-left-color:var(--teal)}
.card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.card h3{font-size:18px;font-weight:600;line-height:1.25}.card h3 code{display:block;font-family:var(--mono);font-size:12px;font-weight:400;color:var(--ink-3);margin-top:3px}
.card p{font-size:14.5px;color:var(--ink-2)}
.card-foot{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:12px;color:var(--ink-3);padding-top:8px;border-top:1px dashed var(--rule)}
.tag{display:inline-block;font-family:var(--mono);font-size:12px;padding:2px 8px;border-radius:3px;white-space:nowrap}
.tag.deck{background:var(--teal-soft);color:var(--teal)}.tag.std{background:#E4E8EC;color:var(--ink-2)}.tag.tapak{background:var(--yellow-soft);color:#8A5F00}
.st{font-family:var(--mono);font-size:12px}.st.cand-screen{color:#8A5F00}.st.admitted{color:var(--teal)}.st.none{color:var(--ink-3)}
.prim-page .ph{margin-bottom:24px}.prim-page .back{font-size:14px;text-decoration:none}
.prim-page h1{font-size:38px;line-height:1.1;margin-top:8px}
.ph-meta{display:flex;gap:12px;align-items:center;margin-top:10px}.ph-meta code{font-family:var(--mono);font-size:13px;color:var(--ink-3)}
.two{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
.meta-col h2,.lower h2{font-size:14px;color:var(--ink-3);font-weight:500;margin:18px 0 4px}.meta-col h2:first-child{margin-top:0}
.meta-col p{font-size:15.5px;color:var(--ink-2)}.meta-col .bukti{color:var(--teal);font-weight:500}
.lower{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:36px;padding-top:24px;border-top:1px solid var(--rule)}
table.kv{width:100%;border-collapse:collapse;font-size:14px}table.kv th{text-align:left;font-family:var(--mono);font-weight:400;color:var(--ink-3);width:110px;padding:7px 0;vertical-align:top;border-bottom:1px solid var(--rule)}table.kv td{padding:7px 0;border-bottom:1px solid var(--rule);color:var(--ink-2)}
.gates{padding-left:18px;font-size:14px;color:var(--ink-2)}.gates li{margin:4px 0}.gates b{font-family:var(--mono);font-weight:500;color:var(--ink)}.gates em{font-style:normal;color:var(--ink-3);font-size:12px;margin-left:6px}
.muted{color:var(--ink-3);font-size:14px}
.nodemo{aspect-ratio:16/9;border:1px dashed var(--rule);display:flex;align-items:center;justify-content:center;color:var(--ink-3);padding:40px;text-align:center;font-family:var(--mono);font-size:14px;background:#fff}
.stub h1{font-size:34px}.stub p{color:var(--ink-2);margin-top:12px;max-width:720px}
ul.docs{list-style:none;margin-top:18px;display:grid;gap:8px}ul.docs code{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-left:8px}
@media(max-width:900px){main{padding:24px 18px}.hero,.two,.lower{grid-template-columns:1fr}nav.top{flex-wrap:wrap;gap:12px}}
