/* Tanggal.net uses local system fonts: no third-party font request. */
:root{--paper:#f4efe4;--sheet:#fffdf8;--ink:#191815;--muted:#6d685f;--line:#cfc6b7;--red:#b72d24;--red2:#7f211c;--blue:#254c65;--blue-soft:#e7eef1;--gold:#d79a28;--shadow:0 14px 40px rgba(45,36,24,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;line-height:1.65}button,input,select,textarea{font:inherit}a{color:inherit}.tgl-wrap{width:min(1240px,calc(100% - 36px));margin:auto}.tgl-skip{position:fixed;left:10px;top:-60px;z-index:100;background:#fff;padding:8px 12px}.tgl-skip:focus{top:10px}
.tgl-header{background:var(--sheet);border-bottom:1px solid var(--ink)}.tgl-header__row{min-height:78px;display:flex;align-items:center;gap:28px}.tgl-logo{display:flex;align-items:center;gap:12px;text-decoration:none}.tgl-logo__date{width:48px;height:48px;border:2px solid var(--ink);display:grid;place-content:center;text-align:center;line-height:.85}.tgl-logo__date b{font-family:'Libre Franklin';font-size:1.05rem}.tgl-logo__date i{font-size:.55rem;font-style:normal;text-transform:uppercase;letter-spacing:.12em;color:var(--red)}.tgl-logo__name{font-family:'Libre Franklin';font-size:1.25rem;font-weight:800;letter-spacing:-.04em}.tgl-nav{margin-left:auto;display:flex;align-items:center;gap:2px}.tgl-nav a{padding:10px 12px;text-decoration:none;font-size:.9rem;font-weight:700;border-bottom:2px solid transparent}.tgl-nav a:hover{border-color:var(--red);color:var(--red)}.tgl-menu{display:none;margin-left:auto;border:1px solid var(--ink);background:transparent;padding:8px 12px;font-weight:800}
.tgl-mast{padding:46px 0 38px;border-bottom:1px solid var(--ink);background:var(--sheet)}.tgl-mast__eyebrow{display:flex;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:.72rem;font-weight:800;letter-spacing:.12em;color:var(--red)}.tgl-mast__grid{display:grid;grid-template-columns:1.5fr .7fr;gap:70px;align-items:end;padding-top:28px}.tgl-mast h1{margin:0;font-family:'Libre Franklin';font-size:clamp(3rem,7vw,4rem);line-height:.9;letter-spacing:-.07em;max-width:850px}.tgl-mast__lead{max-width:790px;margin:22px 0 0;font-size:1.12rem;color:#49453f}.tgl-year-facts{display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--ink);border-bottom:1px solid var(--ink)}.tgl-year-facts div{padding:18px 10px;border-right:1px solid var(--line)}.tgl-year-facts div:last-child{border-right:0}.tgl-year-facts b{display:block;font-family:'Libre Franklin';font-size:2rem;line-height:1}.tgl-year-facts span{display:block;margin-top:6px;font-size:.68rem;color:var(--muted);line-height:1.25}
.tgl-tool{padding:42px 0 64px}.tgl-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 0;border-block:1px solid var(--ink)}.tgl-year-nav{display:flex;align-items:center;gap:8px}.tgl-year-nav button,.tgl-toolbar__actions button{border:1px solid var(--ink);background:var(--sheet);height:38px;padding:0 13px;font-weight:800;cursor:pointer}.tgl-year-nav button{width:38px;font-size:1.3rem;padding:0}.tgl-year-nav label{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:800;text-transform:uppercase}.tgl-year-nav select{border:0;background:transparent;font-family:'Libre Franklin';font-size:1.05rem;font-weight:800}.tgl-toolbar__actions{display:flex;gap:7px}.tgl-year-title{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:34px 0 18px}.tgl-year-title span,.tgl-section-head span,.tgl-page-label{font-size:.68rem;font-weight:800;letter-spacing:.15em;color:var(--red)}.tgl-year-title h2,.tgl-section-head h2{margin:4px 0 0;font-family:'Libre Franklin';font-size:clamp(2rem,4vw,3rem);line-height:1;letter-spacing:-.05em}.tgl-year-title p{max-width:430px;margin:0;color:var(--muted);font-size:.9rem}.tgl-month-index{display:grid;grid-template-columns:repeat(12,1fr);border:1px solid var(--ink);margin-bottom:18px}.tgl-month-index button{border:0;border-right:1px solid var(--line);background:var(--sheet);padding:8px 3px;font-size:.68rem;font-weight:800;cursor:pointer}.tgl-month-index button:last-child{border-right:0}.tgl-month-index button:hover{background:var(--ink);color:#fff}
.tgl-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--ink);border:1px solid var(--ink)}.tgl-month{background:var(--sheet);padding:16px;scroll-margin-top:90px}.tgl-month__head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:8px;margin-bottom:9px}.tgl-month__head h3{margin:0;font-family:'Libre Franklin';font-size:1.12rem;letter-spacing:-.03em}.tgl-month__head b{font-size:.7rem;color:var(--red)}.tgl-weekdays,.tgl-days{display:grid;grid-template-columns:repeat(7,1fr)}.tgl-weekdays span{padding:4px 1px;text-align:center;font-size:.61rem;font-weight:800;color:var(--muted)}.tgl-weekdays span:last-child{color:var(--red)}.tgl-days span,.tgl-days button{position:relative;min-height:42px;border:0;border-top:1px solid #e6dfd3;border-left:1px solid #eee8dd;background:transparent;color:var(--ink);display:flex;align-items:flex-start;justify-content:flex-end;padding:5px;font-size:.75rem;font-weight:700}.tgl-days button{cursor:pointer}.tgl-days button:hover{outline:2px solid var(--ink);outline-offset:-2px;z-index:2}.tgl-days button.is-sunday{color:var(--red)}.tgl-days button.is-holiday{background:#f7dfdc;color:var(--red2)}.tgl-days button.is-leave{background:var(--blue-soft);color:var(--blue)}.tgl-days button.is-today{box-shadow:inset 0 0 0 2px var(--gold)}.tgl-days button.is-selected{box-shadow:inset 0 0 0 2px var(--ink)}.tgl-days button em{position:absolute;left:4px;bottom:3px;width:5px;height:5px;border-radius:50%;background:currentColor}.tgl-month__events{margin:10px 0 0;padding:0;list-style:none}.tgl-month__events li{display:grid;grid-template-columns:24px 1fr;gap:6px;padding:4px 0;border-top:1px dotted var(--line);font-size:.64rem;line-height:1.35}.tgl-month__events b{color:var(--red)}.tgl-legend{display:flex;flex-wrap:wrap;gap:18px;padding:13px 0;border-bottom:1px solid var(--ink);font-size:.72rem;font-weight:700}.tgl-legend span{display:flex;align-items:center;gap:6px}.tgl-legend i{width:12px;height:12px;border:1px solid var(--line)}.tgl-legend i.is-today{box-shadow:inset 0 0 0 2px var(--gold)}.tgl-legend i.is-holiday{background:#f7dfdc}.tgl-legend i.is-leave{background:var(--blue-soft)}.tgl-legend i.is-sunday{background:var(--red)}
.tgl-holidays{padding:64px 0;background:var(--sheet);border-block:1px solid var(--ink)}.tgl-section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:28px}.tgl-section-head p{margin:0;color:var(--muted)}.tgl-holiday-columns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--ink);border:1px solid var(--ink)}.tgl-holiday-columns>div{background:var(--sheet);padding:22px}.tgl-holiday-columns h3{display:flex;justify-content:space-between;gap:20px;margin:0 0 12px;padding-bottom:10px;border-bottom:2px solid var(--ink);font-size:1rem}.tgl-holiday-columns h3 b{color:var(--red)}.tgl-date-list{display:grid}.tgl-date-row{display:grid;grid-template-columns:105px 1fr;gap:15px;padding:9px 0;border-bottom:1px dotted var(--line);font-size:.82rem}.tgl-date-row time{font-weight:800}.tgl-source-note{margin:18px 0 0;font-size:.76rem;color:var(--muted)}
.tgl-explore{padding:68px 0}.tgl-month-links{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--ink);background:var(--ink);gap:1px}.tgl-month-links a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:3px 10px;padding:18px;background:var(--sheet);text-decoration:none}.tgl-month-links span{font-family:'Libre Franklin';font-weight:800}.tgl-month-links b{font-size:.7rem;color:var(--red)}.tgl-month-links i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal}.tgl-month-links a:hover{background:var(--ink);color:#fff}.tgl-topic-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:24px}.tgl-topic-links a{padding:20px;border-top:4px solid var(--red);background:var(--sheet);text-decoration:none}.tgl-topic-links b{display:block;font-family:'Libre Franklin';font-size:1.05rem}.tgl-topic-links span{display:block;margin-top:5px;color:var(--muted);font-size:.82rem}
.tgl-editorial{padding:64px 0;background:#e9e1d3;border-block:1px solid var(--ink)}.tgl-reading{max-width:860px}.tgl-reading h2{margin:42px 0 10px;font-family:'Libre Franklin';font-size:1.7rem;line-height:1.15;letter-spacing:-.035em}.tgl-reading h2:first-child{margin-top:0}.tgl-reading h3{margin-top:28px}.tgl-reading p,.tgl-reading li{color:#3f3b35}.tgl-reading a{color:var(--red);font-weight:700}.tgl-reading table{width:100%;border-collapse:collapse;margin:20px 0}.tgl-reading th,.tgl-reading td{padding:9px;border:1px solid var(--line);text-align:left;font-size:.86rem}.tgl-reading th{background:#eee7db}
.tgl-faq{padding:64px 0}.tgl-faq__grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}.tgl-faq details{border-bottom:1px solid var(--ink);padding:0 14px}.tgl-faq details:nth-child(odd){border-right:1px solid var(--ink)}.tgl-faq summary{display:flex;justify-content:space-between;gap:20px;padding:16px 0;font-weight:800;cursor:pointer}.tgl-faq p{margin:0 0 18px;color:var(--muted)}
.tgl-date-drawer{position:fixed;right:20px;bottom:20px;z-index:50;width:min(390px,calc(100% - 40px));padding:22px;background:var(--ink);color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.3)}.tgl-date-drawer>button{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#fff;font-size:1.4rem;cursor:pointer}.tgl-date-drawer>span{display:block;color:#e3b44d;font-size:.65rem;font-weight:800;letter-spacing:.14em}.tgl-date-drawer>strong{display:block;margin-top:6px;font-family:'Libre Franklin';font-size:1.45rem}.tgl-date-drawer p{margin:7px 0;color:#d6d1c8;font-size:.82rem}.tgl-date-drawer #selectedEvent{margin-top:12px;padding-top:12px;border-top:1px solid #5b5750;font-size:.84rem}
.tgl-page-mast{padding:44px 0;background:var(--sheet);border-bottom:1px solid var(--ink)}.tgl-breadcrumb{display:flex;gap:8px;margin-bottom:25px;font-size:.72rem;color:var(--muted)}.tgl-breadcrumb a{text-decoration:none}.tgl-page-mast h1{max-width:950px;margin:8px 0 0;font-family:'Libre Franklin';font-size:clamp(2.6rem,6vw,5.2rem);line-height:.95;letter-spacing:-.06em}.tgl-page-intro{max-width:820px;margin-top:20px;font-size:1.05rem;color:#4a463f}.tgl-tool--page{padding-bottom:30px}.tgl-page-body{padding:52px 0 72px}.tgl-page-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(240px,1fr);gap:55px;align-items:start}.tgl-reading--page{max-width:none}.tgl-page-faq{position:sticky;top:20px;border-top:4px solid var(--red)}.tgl-page-faq h2{font-size:1rem}.tgl-page-faq details{border-bottom:1px solid var(--line);padding:10px 0}.tgl-page-faq summary{font-weight:800;cursor:pointer}.tgl-page-faq p{font-size:.82rem;color:var(--muted)}.tgl-contact label{display:grid;gap:5px;margin:12px 0;font-weight:700}.tgl-contact input,.tgl-contact textarea{width:100%;border:1px solid var(--ink);background:var(--sheet);padding:10px}.tgl-contact__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tgl-action{border:0;background:var(--red);color:#fff;padding:11px 18px;font-weight:800}.hp-field{position:absolute!important;left:-9999px!important}.tgl-alert{padding:12px;margin-bottom:15px;background:#eee}.tgl-alert.is-success{border-left:4px solid #27724d}.tgl-alert.is-error{border-left:4px solid var(--red)}
.tgl-footer{background:var(--ink);color:#fff;padding:42px 0 22px}.tgl-footer__top{display:grid;grid-template-columns:1fr 1fr;gap:50px}.tgl-footer__brand{font-family:'Libre Franklin';font-size:1.35rem}.tgl-footer p{max-width:520px;color:#c9c3b8}.tgl-footer__links{display:grid;grid-template-columns:1fr 1fr;gap:7px}.tgl-footer__links a{text-decoration:none;color:#ddd6ca;font-size:.84rem}.tgl-footer__bottom{display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding-top:15px;border-top:1px solid #494640;color:#aaa399;font-size:.72rem}
@media(max-width:980px){.tgl-mast__grid,.tgl-section-head,.tgl-page-layout{grid-template-columns:1fr}.tgl-year-facts{max-width:520px}.tgl-year-grid{grid-template-columns:repeat(2,1fr)}.tgl-month-index{grid-template-columns:repeat(6,1fr)}.tgl-month-index button:nth-child(6){border-right:0}.tgl-month-links{grid-template-columns:repeat(3,1fr)}.tgl-page-faq{position:static}}
@media(max-width:720px){.tgl-wrap{width:min(100% - 24px,1240px)}.tgl-header__row{min-height:64px}.tgl-logo__date{width:40px;height:40px}.tgl-menu{display:block}.tgl-nav{display:none;position:absolute;left:12px;right:12px;top:68px;background:var(--sheet);border:1px solid var(--ink);padding:8px;box-shadow:var(--shadow)}.tgl-nav.is-open{display:grid}.tgl-mast{padding:30px 0}.tgl-mast__eyebrow{display:grid;gap:4px}.tgl-mast__grid{gap:28px;padding-top:22px}.tgl-mast h1{font-size:clamp(3rem,16vw,5rem)}.tgl-year-facts{grid-template-columns:repeat(3,1fr)}.tgl-year-facts b{font-size:1.45rem}.tgl-tool{padding-top:25px}.tgl-toolbar{align-items:stretch;flex-direction:column}.tgl-year-nav{justify-content:space-between}.tgl-toolbar__actions button{flex:1}.tgl-toolbar__actions{display:flex}.tgl-year-title{align-items:start;flex-direction:column;gap:10px}.tgl-year-grid{grid-template-columns:1fr}.tgl-month-index{grid-template-columns:repeat(4,1fr)}.tgl-month-index button:nth-child(6){border-right:1px solid var(--line)}.tgl-month-index button:nth-child(4n){border-right:0}.tgl-holiday-columns,.tgl-topic-links,.tgl-faq__grid,.tgl-footer__top{grid-template-columns:1fr}.tgl-faq details:nth-child(odd){border-right:0}.tgl-month-links{grid-template-columns:repeat(2,1fr)}.tgl-contact__row{grid-template-columns:1fr}.tgl-footer__links{grid-template-columns:1fr}.tgl-footer__bottom{flex-direction:column}}
@media(max-width:420px){.tgl-year-facts span{font-size:.58rem}.tgl-month-links{grid-template-columns:1fr}.tgl-date-row{grid-template-columns:90px 1fr}.tgl-days span,.tgl-days button{min-height:39px}}
@media print{.tgl-header,.tgl-mast,.tgl-toolbar,.tgl-month-index,.tgl-legend,.tgl-holidays,.tgl-explore,.tgl-editorial,.tgl-faq,.tgl-footer,.tgl-date-drawer,.tgl-page-mast,.tgl-page-body{display:none!important}body{background:#fff}.tgl-tool{display:block!important;padding:0}.tgl-wrap{width:100%}.tgl-year-title{display:block;padding:0 0 8px}.tgl-year-title p{display:none}.tgl-year-grid{grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #000}.tgl-month{padding:6px;break-inside:avoid}.tgl-month__events{display:none}.tgl-days span,.tgl-days button{min-height:24px;font-size:7px}.tgl-weekdays span{font-size:6px}}

/* v2.1 - evergreen calendar hub */
.tgl-live-date{justify-self:end;width:min(330px,100%);border:1px solid var(--ink);background:var(--paper);padding:18px;display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:end}
.tgl-live-date>span{grid-column:1/-1;font-size:.64rem;font-weight:800;letter-spacing:.14em;color:var(--red)}
.tgl-live-date>b{grid-row:2/4;font-family:'Libre Franklin';font-size:4.8rem;line-height:.9;letter-spacing:-.08em}
.tgl-live-date>strong{font-family:'Libre Franklin';font-size:1.1rem}.tgl-live-date>small{color:var(--muted)}
.tgl-now{background:var(--ink);color:#fff}.tgl-now__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.tgl-now article{padding:20px 22px;border-right:1px solid #4b4841}.tgl-now article:last-child{border-right:0}
.tgl-now article>span{display:block;font-size:.62rem;font-weight:800;letter-spacing:.14em;color:#d9ad52}
.tgl-now article>strong{display:block;margin-top:5px;font-family:'Libre Franklin';font-size:1rem}
.tgl-now article p{margin:5px 0 0;color:#c9c3b8;font-size:.78rem}.tgl-now article a{color:#fff}
.tgl-tool--hub .tgl-year-grid--single{grid-template-columns:minmax(0,520px);background:transparent;border:0}
.tgl-tool--hub .tgl-month{border:1px solid var(--ink)}
.tgl-year-gateway{padding:62px 0;background:var(--sheet);border-block:1px solid var(--ink)}
.tgl-year-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:var(--ink);border:1px solid var(--ink)}
.tgl-year-links a{background:var(--sheet);padding:20px;text-decoration:none;display:flex;align-items:baseline;justify-content:space-between}
.tgl-year-links a span{font-size:.72rem;font-weight:800;text-transform:uppercase}.tgl-year-links a b{font-family:'Libre Franklin';font-size:2rem}
.tgl-year-links a.is-current{background:var(--red);color:#fff}.tgl-year-gateway__note{font-size:.76rem;color:var(--muted)}
.tgl-upcoming{padding:62px 0}.tgl-upcoming__list{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink);margin-bottom:24px}
.tgl-upcoming__list article{background:var(--sheet);padding:18px}.tgl-upcoming__list time{display:block;color:var(--red);font-size:.72rem;font-weight:800}
.tgl-upcoming__list b{display:block;margin-top:7px;line-height:1.3}.tgl-upcoming__list span{display:block;margin-top:8px;color:var(--muted);font-size:.7rem}
@media(max-width:720px){.tgl-live-date{justify-self:start}.tgl-now__grid{grid-template-columns:1fr}.tgl-now article{border-right:0;border-bottom:1px solid #4b4841}.tgl-year-links{grid-template-columns:1fr}.tgl-upcoming__list{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.tgl-upcoming__list{grid-template-columns:1fr}}


/* v2.4.1 - calendar year SEO/data sections */
.tgl-year-extras{background:var(--paper);border-top:1px solid var(--ink)}
.tgl-year-extra-block{padding:62px 0;border-bottom:1px solid var(--line)}
.tgl-long-weekends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tgl-long-weekends article{background:var(--paper-2);border:1px solid var(--ink)}
.tgl-long-weekends header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}
.tgl-long-weekends header b{font-size:17px}
.tgl-long-weekends header span{background:var(--ink);color:var(--paper);padding:5px 10px;font-size:12px;font-weight:800}
.tgl-long-weekends ul{list-style:none;margin:0;padding:8px 16px 12px}
.tgl-long-weekends li{display:grid;grid-template-columns:90px 1fr 88px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.tgl-long-weekends li:last-child{border-bottom:0}
.tgl-long-weekends li time{font-weight:700}
.tgl-long-weekends li em{text-align:right;font-style:normal;color:var(--muted);font-size:12px}
.tgl-empty-note{margin:0;color:var(--muted)}
.tgl-holiday-table-wrap{overflow-x:auto;border:1px solid var(--ink)}
.tgl-holiday-table{width:100%;border-collapse:collapse;background:var(--paper-2)}
.tgl-holiday-table th,.tgl-holiday-table td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tgl-holiday-table th{background:var(--paper);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.tgl-holiday-table tr:last-child td{border-bottom:0}
.tgl-holiday-table time{font-weight:700}
.tgl-kind{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:700}
.tgl-kind:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ink)}
.tgl-kind.is-holiday:before{background:var(--red)}
.tgl-kind.is-leave:before{background:#4d6f91}
.tgl-download__actions{display:flex;gap:10px;flex-wrap:wrap}
.tgl-action--dark{background:var(--ink);color:var(--paper)}
.tgl-download__note{margin:12px 0 0;color:var(--muted);font-size:13px}
.tgl-reading--year{max-width:900px;margin-inline:auto}
.tgl-year-faq{max-width:900px;margin:42px auto 0}
.tgl-year-faq__items{border-top:1px solid var(--ink)}
.tgl-year-faq details{border-bottom:1px solid var(--line)}
.tgl-year-faq summary{display:flex;justify-content:space-between;gap:16px;cursor:pointer;padding:17px 0;font-weight:800}
.tgl-year-faq summary::-webkit-details-marker{display:none}
.tgl-year-faq details p{margin:0;padding:0 0 18px;color:var(--muted);line-height:1.7}
@media(max-width:800px){
  .tgl-year-extra-block{padding:42px 0}
  .tgl-long-weekends{grid-template-columns:1fr}
  .tgl-long-weekends li{grid-template-columns:72px 1fr}
  .tgl-long-weekends li em{grid-column:2;text-align:left}
}

/* v2.6.0 - DB-driven year navigation */
.tgl-year-navmenu{margin-left:auto;position:relative}
.tgl-year-menu{position:relative}
.tgl-year-menu>summary{list-style:none;cursor:pointer;border:1px solid var(--ink);background:var(--sheet);padding:10px 13px;font-size:.88rem;font-weight:800;display:flex;align-items:center;gap:8px}
.tgl-year-menu>summary::-webkit-details-marker{display:none}
.tgl-year-menu[open]>summary{background:var(--ink);color:var(--sheet)}
.tgl-year-menu__panel{position:absolute;z-index:50;right:0;top:calc(100% + 8px);width:min(430px,calc(100vw - 24px));padding:16px;background:var(--sheet);border:1px solid var(--ink);box-shadow:var(--shadow)}
.tgl-year-menu__panel>strong{display:block;margin-bottom:10px;font-family:'Libre Franklin';font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.tgl-year-menu__links{display:flex;flex-wrap:wrap;gap:8px}
.tgl-year-menu__links a{display:inline-flex;padding:8px 11px;border:1px solid var(--line);text-decoration:none;font-size:.86rem;font-weight:700;background:var(--paper)}
.tgl-year-menu__links a:hover{border-color:var(--ink)}
.tgl-year-menu__links a.is-current{background:var(--ink);border-color:var(--ink);color:var(--sheet)}
@media(max-width:720px){
  .tgl-year-navmenu{margin-left:auto}
  .tgl-year-menu__panel{position:fixed;left:12px;right:12px;top:72px;width:auto}
}


/* v2.6.1 - year menu chevron polish */
.tgl-year-menu>summary{
  user-select:none;
  -webkit-tap-highlight-color:transparent;
}
.tgl-year-menu__chevron{
  width:7px;
  height:7px;
  flex:0 0 7px;
  margin-left:2px;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transform-origin:center;
  transition:transform .18s ease;
}
.tgl-year-menu[open]>summary .tgl-year-menu__chevron{
  transform:translateY(2px) rotate(225deg);
}
@media (prefers-reduced-motion:reduce){
  .tgl-year-menu__chevron{transition:none}
}


/* v2.6.4 - compact homepage hierarchy (cumulative with v2.6.2) */
.tgl-live{
  background:transparent;
  color:var(--ink);
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.tgl-live article{
  border-color:var(--line);
}
.tgl-live article>span{
  color:var(--red);
}
.tgl-live article>strong,
.tgl-live article>p,
.tgl-live a{
  color:var(--ink);
}
.tgl-month-cta{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
.tgl-month-cta a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--ink);
  font-weight:800;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.tgl-month-cta a:hover{
  text-decoration-thickness:2px;
}


/* v2.6.8 - wide current-month calendar on desktop only */
@media (min-width:1024px){
  .tgl-tool--hub .tgl-year-title,
  .tgl-tool--hub #homeCalendar,
  .tgl-tool--hub .tgl-legend{
    width:100%;
    max-width:1240px;
    margin-left:auto;
    margin-right:auto;
  }

  .tgl-tool--hub .tgl-year-title{
    display:block;
    padding-bottom:18px;
  }

  .tgl-tool--hub .tgl-year-grid--single{
    grid-template-columns:minmax(0,1fr);
    width:100%;
  }

  .tgl-tool--hub .tgl-month{
    width:100%;
    padding:22px;
  }

  .tgl-tool--hub .tgl-month__head{
    padding-bottom:12px;
    margin-bottom:12px;
  }

  .tgl-tool--hub .tgl-month__head h3{
    font-size:1.32rem;
  }

  .tgl-tool--hub .tgl-weekdays span{
    padding:7px 2px;
    font-size:.7rem;
  }

  .tgl-tool--hub .tgl-days span,
  .tgl-tool--hub .tgl-days button{
    min-height:72px;
    padding:9px;
    font-size:.9rem;
  }

  .tgl-tool--hub .tgl-month-cta{
    width:100%;
  }
}

/* Tanggal.net visual language: calm teal, rounded utility cards, open calendar. */
:root {
  --paper:#f4f8f6;
  --paper-2:#fff;
  --sheet:#fff;
  --ink:#17383c;
  --muted:#567173;
  --line:#d5e5e0;
  --red:#ba5c27;
  --red2:#91461f;
  --blue:#176a69;
  --blue-soft:#e1f1ec;
  --gold:#edae51;
  --shadow:0 18px 44px rgba(12,66,65,.08);
}
body { background:var(--paper);font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.tgl-wrap { width:min(1120px,calc(100% - 40px)); }
.tgl-header { background:#fff;border:0;box-shadow:0 1px 0 var(--line); }
.tgl-header__row { min-height:70px; }
.tgl-logo__date {
  width:42px;height:42px;border:0;border-radius:13px;
  background:#103e45;color:#fff;transform:rotate(-5deg);
}
.tgl-logo__date b { font:800 1.22rem system-ui,sans-serif;letter-spacing:-.1em; }
.tgl-logo__date i { color:#90ddc0;font-size:.5rem;letter-spacing:.07em; }
.tgl-logo__name { font:800 1.2rem system-ui,sans-serif;letter-spacing:-.035em; }
.tgl-year-menu>summary { border-color:var(--line);border-radius:10px; }
.tgl-mast {
  background:#103e45;color:#fff;border:0;padding:68px 0 78px;
  background-image:radial-gradient(circle at 90% 18%,#287f7c 0,transparent 34%);
}
.tgl-mast__eyebrow { border:0;padding:0;color:#9fe7cb; }
.tgl-mast__grid { align-items:center;gap:42px;padding-top:18px;grid-template-columns:minmax(0,1.6fr) minmax(230px,.65fr); }
.tgl-mast h1 { font:750 clamp(2.75rem,5vw,4.65rem)/1.08 system-ui,sans-serif;letter-spacing:-.055em; }
.tgl-mast__lead { color:#d9eae4;line-height:1.65;max-width:660px; }
.tgl-hero-actions { display:flex;flex-wrap:wrap;gap:10px;margin-top:25px; }
.tgl-hero-actions a {
  display:inline-flex;align-items:center;justify-content:center;padding:11px 17px;
  border:1px solid #9ee8ca;border-radius:10px;background:#9ee8ca;color:#133b3b;
  text-decoration:none;font-weight:750;font-size:.89rem;
}
.tgl-hero-actions a+a { background:transparent;color:#fff;border-color:#8fb8b2; }
.tgl-hero-actions a:hover,.tgl-hero-actions a:focus-visible { outline:2px solid #f8c86c;outline-offset:2px; }
.tgl-live-date {
  background:#fff;color:var(--ink);border:0;border-radius:20px;padding:24px;
  box-shadow:12px 12px 0 #2b706e;justify-self:end;
}
.tgl-live-date>span { color:#17706a; }
.tgl-live-date>b { font:800 5rem/1 system-ui,sans-serif; }
.tgl-live-date>strong { font:750 1.08rem system-ui,sans-serif; }
.tgl-tool--hub { padding:60px 0 68px; }
.tgl-year-title { padding:0 0 20px; }
.tgl-year-title h2,.tgl-section-head h2 { font:750 clamp(1.6rem,3vw,2.4rem)/1.2 system-ui,sans-serif;letter-spacing:-.035em; }
.tgl-year-title p { margin:8px 0 0; }
.tgl-tool--hub .tgl-year-grid--single { grid-template-columns:minmax(0,640px); }
.tgl-tool--hub .tgl-month {
  border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:var(--shadow);background:#fff;padding:20px;
}
.tgl-month__head h3 { font-family:system-ui,sans-serif; }
.tgl-month-cta a,.tgl-action { background:#103e45;color:#fff;border-radius:10px; }
.tgl-now { background:#e2f1eb;color:var(--ink); }
.tgl-now__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tgl-now article { border-color:#c2ded3; }
.tgl-now article>span { color:#1e6763; }
.tgl-now article>strong { font-family:system-ui,sans-serif; }
.tgl-now article p { color:var(--muted); }
.tgl-year-gateway { background:#fff;border-color:var(--line); }
.tgl-year-links { background:transparent;border:0;gap:12px; }
.tgl-year-links a { border:1px solid var(--line);border-radius:13px; }
.tgl-year-links a b { font-family:system-ui,sans-serif; }
.tgl-year-links a.is-current { background:#103e45; }
.tgl-upcoming__list { background:transparent;border:0;gap:12px; }
.tgl-upcoming__list article { border:1px solid var(--line);border-radius:13px; }
.tgl-page-mast { background:#103e45;color:#fff; }
.tgl-page-mast .tgl-page-intro { color:#daeee8; }
.tgl-page-mast .tgl-breadcrumb a { color:#9ce1c7; }
.tgl-page-mast .tgl-page-label { color:#9ce1c7; }
.tgl-page-mast h1 { font-family:system-ui,sans-serif;letter-spacing:-.04em; }
.tgl-footer { background:#103e45; }
.tgl-footer__brand { font-family:system-ui,sans-serif; }
@media(max-width:800px) {
  .tgl-mast__grid { grid-template-columns:1fr;gap:28px; }
  .tgl-live-date { justify-self:start;max-width:310px; }
}
@media(max-width:560px) {
  .tgl-wrap { width:calc(100% - 28px); }
  .tgl-mast { padding:40px 0 56px; }
  .tgl-mast h1 { font-size:clamp(2.2rem,10vw,3.4rem); }
  .tgl-live-date { padding:16px;box-shadow:7px 7px 0 #2b706e; }
  .tgl-live-date>b { font-size:3.9rem; }
  .tgl-hero-actions a { flex:1 1 auto; }
  .tgl-now__grid { grid-template-columns:1fr; }
  .tgl-tool--hub .tgl-month { padding:12px; }
  .tgl-tool--hub .tgl-days span,.tgl-tool--hub .tgl-days button { min-height:49px;padding:5px; }
}

