input{font-family:inherit}
.ghost{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:999px;border:1.5px solid rgba(255,255,255,.28);color:#EAEEF8;font-weight:600;font-size:14px;transition:background .2s,border-color .2s}
.ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.fchip{padding:10px 18px;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);background:transparent;color:#EAEEF8;font-weight:600;font-size:14px;cursor:pointer;min-height:44px;transition:background .2s,color .2s,border-color .2s}
.fchip:hover{border-color:#fff}
.fchip.on{background:#fff;color:#0E1424;border-color:#fff}
.crumb{font-family:'DM Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;color:#9AA6C4}
.crumb a:hover{color:#fff}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}

/* halaman ini */
.layout{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:24px;align-items:start}
.paper{background:#ECEFF7;color:#121A2E;border-radius:40px;padding:12px 40px}
.nrow{display:flex;gap:24px;align-items:flex-start;padding:30px 0;border-bottom:1px solid rgba(18,26,46,.12)}
.nrow:last-child{border-bottom:0}
.nmore{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:700;font-size:14px;color:#2B3A8C;border-bottom:2px solid transparent;transition:border-color .2s,gap .2s}
.nmore:hover{border-bottom-color:currentColor;gap:10px}
.dblock{flex:none;width:72px;display:flex;flex-direction:column;align-items:center;border-radius:20px;background:#fff;padding:12px 0}
.tp{display:inline-block;font-weight:700;font-size:12px;padding:5px 12px;border-radius:999px;color:#0E1424}
.tp-b{background:#9DB0FF}
.tp-p{background:#FFC95C}
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.cal .h{font-family:'DM Mono',ui-monospace,monospace;font-size:11px;color:#9AA6C4;text-align:center;padding-bottom:6px}
.cal .d{position:relative;aspect-ratio:1/1;display:grid;place-items:center;border-radius:12px;font-size:14px;font-weight:600;color:#C9D1E3;background:transparent;border:0;padding:0;margin:0;font-family:inherit;cursor:pointer;transition:background .15s,box-shadow .15s}
.cal .d:hover{background:rgba(255,255,255,.1)}
.cal .d.blank{pointer-events:none}
.cal .d.sel{box-shadow:0 0 0 2px #fff;background:rgba(255,255,255,.16)}
.cal .d:focus-visible{outline:2px solid #FFC95C;outline-offset:2px}
.cal .d.today{background:#FFC95C;color:#0E1424;outline:2px solid #fff;outline-offset:1px}
.cal .d.ev{color:#0E1424;font-weight:700}
.cal .d.ev:hover{filter:brightness(1.08)}
.cal .d.lib,.ag-lib{background:#FF7A7A}.cal .d.ujn,.ag-ujn{background:#C79BFF}.cal .d.ulg,.ag-ulg{background:#FF9F5A}
.cal .d.fwa,.ag-fwa{background:#5FD39A}.cal .d.ppd,.ag-ppd{background:#FF8FD0}.cal .d.keg,.ag-keg{background:#9DB0FF}
.cal .d.lkd,.ag-lkd{background:#4FD1E0}
.calnav{display:flex;gap:6px;flex:none}
.calnav button{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:transparent;color:#EAEEF8;font-size:20px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s}
.calnav button:hover{background:rgba(255,255,255,.09);border-color:#fff}
.lgd{margin-top:18px;display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:#9AA6C4}
.lgd i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}
.agi{display:block}
.agr{display:block;margin-bottom:6px;font-family:'DM Mono',ui-monospace,monospace;font-size:12px;color:#C9D1E3}
.agb{display:inline-block;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;color:#0E1424}
.cal .d.blank{visibility:hidden}

@media (max-width:1120px){.links{display:none}.menubtn{display:inline-flex}}
@media (max-width:960px){.layout{grid-template-columns:minmax(0,1fr)}.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.paper{padding:8px 20px;border-radius:32px}.nrow{gap:16px}.dblock{width:60px}.foot-cols{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* foto berita & pembaca */
.nthumb{flex:none;align-self:center;width:176px;aspect-ratio:4/3;border-radius:18px;object-fit:cover;background:#E6E9F2;opacity:0;transition:opacity .35s}
.nthumb.loaded{opacity:1}
.rd-ov{position:fixed;inset:0;z-index:200;background:rgba(8,12,24,.78);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);overflow-y:auto;padding:clamp(12px,4vw,48px) 14px;display:flex;justify-content:center;align-items:flex-start;animation:rd-in .2s ease both}
.rd{position:relative;width:min(760px,100%);background:#fff;color:#121A2E;border-radius:32px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.rd-x{position:absolute;top:14px;right:14px;z-index:2;width:42px;height:42px;border-radius:50%;border:0;background:rgba(14,20,36,.8);color:#fff;font-size:16px;cursor:pointer}
.rd-x:hover{background:#0E1424}
.rd-img{display:block;width:100%;max-height:440px;object-fit:cover;background:#E6E9F2;opacity:0;transition:opacity .35s;min-height:200px}
.rd-img.loaded{opacity:1}
.rd-b{padding:clamp(22px,4vw,40px)}
.rd-meta{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;font:500 12px 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;color:#55607C;text-transform:uppercase}
.rd h2{margin:16px 0 18px;font-family:'Bricolage Grotesque','Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:clamp(26px,3.6vw,38px);line-height:1.1;letter-spacing:-.025em;text-wrap:balance}
.rd p{margin:0 0 16px;font-size:16.5px;line-height:1.75;color:#2A3350;white-space:pre-line}
@keyframes rd-in{from{opacity:0}to{opacity:1}}
@media (max-width:640px){.nrow{flex-wrap:wrap}.nthumb{order:-1;width:100%;flex:1 0 100%;aspect-ratio:16/9}.rd{border-radius:24px}}
.nthumb.gagal,.rd-img.gagal{display:none}

.rich h3{margin:26px 0 10px;font:700 24px/1.2 'Bricolage Grotesque','Plus Jakarta Sans',system-ui,sans-serif;color:#0E1424}
.rich h4,.rich h5{margin:22px 0 8px;font:700 19px/1.25 'Bricolage Grotesque','Plus Jakarta Sans',system-ui,sans-serif;color:#0E1424}
.rich ul,.rich ol{margin:0 0 16px;padding-left:24px;font-size:16.5px;line-height:1.75;color:#2A3350}
.rich li{margin:0 0 4px}
.rich blockquote{margin:0 0 16px;padding:6px 0 6px 16px;border-left:4px solid #F5B72E;font-style:italic;font-size:16.5px;line-height:1.7;color:#55607C}
.rich hr{border:0;border-top:1px solid #E6E9F2;margin:22px 0}
.rich mark{background:#FFE9A8;color:inherit;padding:0 3px;border-radius:3px}
.rich a{color:#2347D8;text-decoration:underline}
.rich strong{color:#0E1424}

.agh{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-family:'DM Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#9AA6C4}
.agall{border:1px solid rgba(255,255,255,.22);background:transparent;color:#EAEEF8;border-radius:999px;padding:6px 14px;font:600 12px 'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer}
.agall:hover{background:rgba(255,255,255,.1);border-color:#fff}


.gl-ov{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:rgba(14,20,36,.32);-webkit-backdrop-filter:blur(14px) saturate(1.5);backdrop-filter:blur(14px) saturate(1.5);animation:gl-in .22s ease both}
.gl-card{display:flex;flex-direction:column;align-items:center;gap:24px;padding:36px 44px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.09));border:1px solid rgba(255,255,255,.38);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);box-shadow:0 24px 70px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.5)}
.gl-stage{position:relative;width:88px;height:88px;display:grid;place-items:center}
.gl-ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:#FFC95C;border-right-color:rgba(255,201,92,.3);animation:gl-spin 1.1s linear infinite}
.gl-ring.b{inset:13px;border-top-color:#9DB0FF;border-right-color:rgba(157,176,255,.3);animation-duration:1.6s;animation-direction:reverse}
.gl-core{width:14px;height:14px;border-radius:50%;background:#FFC95C;box-shadow:0 0 22px 4px rgba(255,201,92,.7);animation:gl-pulse 1.4s ease-in-out infinite}
.gl-dots{display:flex;gap:9px}
.gl-dots span{width:9px;height:9px;border-radius:50%;background:#fff;opacity:.3;animation:gl-bounce 1.2s ease-in-out infinite}
.gl-dots span:nth-child(2){animation-delay:.15s}.gl-dots span:nth-child(3){animation-delay:.3s}
@keyframes gl-in{from{opacity:0}to{opacity:1}}@keyframes gl-spin{to{transform:rotate(360deg)}}
@keyframes gl-pulse{0%,100%{transform:scale(.8)}50%{transform:scale(1.15)}}
@keyframes gl-bounce{0%,80%,100%{transform:translateY(0);opacity:.3}40%{transform:translateY(-8px);opacity:1}}
@media (prefers-reduced-motion:reduce){.gl-ring,.gl-core,.gl-dots span{animation-duration:4s}}
