:root{--paper:#fff;--bg:#edf0f3;--text:#2c3043;--muted:#717689;--border:#d4d4df;--purple:#51466d;--purple-lite:#efecf6;--gold:#ad814e;--gold-lite:#faf0df;--green:#347657;--green-lite:#eaf4ec;--blue:#39708a;--blue-lite:#eaf2f8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font:13px/1.48 Arial,Helvetica,sans-serif}a{color:#59508b;text-decoration:none}a:hover{text-decoration:underline;color:#302c5d}button{font:inherit;cursor:pointer}.site{max-width:1240px;background:var(--paper);margin:0 auto;min-height:100vh;border-inline:1px solid #cfd3dc}.skip-link{position:absolute;left:-9999px;top:0}.skip-link:focus{z-index:20;left:12px;top:12px;background:#fff;padding:10px}.topline{min-height:26px;background:#302c4c;color:#dbd3e9;display:flex;justify-content:space-between;padding:5px 16px;font-size:11px}.topline a{color:#dfd2b7;margin-left:15px}
/* Compact colorful portal masthead, not a hero banner */
.brandrow{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:130px;padding:17px 18px;background:radial-gradient(circle at 83% 40%,#665575 0,#514468 28%,#3c365d 68%,#312d50 100%);border-bottom:1px solid #8c78a3;color:#fff}
.brandrow:before{content:'·    ✧    ✦    ·    ✧';position:absolute;top:5px;left:25%;font-size:19px;letter-spacing:32px;opacity:.27;color:#f4e4bf;pointer-events:none}
.brand{display:flex;gap:13px;align-items:center;min-width:265px;position:relative;z-index:1}.brand-mark{width:66px;height:66px;border-radius:50%;border:1px solid #a79bb6;background:radial-gradient(circle at 36% 36%,#74638a,#322d55);flex:0 0 66px;position:relative;box-shadow:inset 0 0 0 3px rgba(246,224,177,.08)}.brand-crescent{position:absolute;width:42px;height:42px;left:9px;top:9px;border-radius:50%;background:radial-gradient(circle at 25% 25%,#fff1ca,#e2bf7e 66%,#aa7c4a);transform:rotate(-19deg)}.brand-crescent:after{content:'';position:absolute;width:41px;height:41px;left:15px;top:-9px;border-radius:50%;background:#4a4068}.brand-spark{position:absolute;right:9px;top:5px;color:#ffda98;font-size:14px}.brand-name{font:normal 41px/1 Georgia,'Times New Roman',serif;letter-spacing:-1.2px;color:#fff6d9;text-shadow:0 1px 1px #1b1734}.brand-name:hover{color:#fff7de;text-decoration:none}.brand-sub{margin-top:6px;color:#e6dcf0;font-size:12px;letter-spacing:.2px}
.header-current{position:relative;z-index:1;min-width:350px;flex:1;max-width:490px;border:1px solid rgba(243,219,173,.25);background:rgba(28,24,50,.2);padding:10px 13px}.header-label{font-size:12px;font-weight:bold;color:#ead2aa;margin-bottom:8px}.header-facts{display:grid;grid-template-columns:1fr 1.3fr .8fr}.header-facts>div{min-width:0}.header-facts>div+div{border-left:1px solid rgba(255,255,255,.16);padding-left:11px}.header-facts span{display:block;font-size:10px;color:#d2cadf;margin-bottom:3px}.header-facts strong{display:block;font:normal 16px/1.2 Georgia,serif;color:#fff6d9}.header-note{border-top:1px solid rgba(255,255,255,.13);margin-top:8px;padding-top:6px;font-size:11px}.header-note a{color:#f2dcbb}.header-note span{margin:0 8px;opacity:.5}
.header-art{width:124px;flex:0 0 124px;position:relative;height:108px;display:grid;place-items:center}.sky-halo{position:absolute;width:109px;height:109px;border-radius:50%;border:1px solid rgba(255,230,176,.25);box-shadow:0 0 0 9px rgba(245,222,194,.035),inset 0 0 0 9px rgba(245,222,194,.045)}.sky-moon{width:75px;height:75px;border-radius:50%;background:radial-gradient(circle at 25% 28%,#fff6d9,#d9b781 71%,#b18e65);box-shadow:0 0 17px rgba(242,217,158,.25);position:relative}.sky-moon:after{content:'';position:absolute;left:25px;top:-6px;width:68px;height:75px;background:#514368;border-radius:50%}.sky-star-a{position:absolute;top:1px;right:4px;font-size:22px;color:#e9cf98}.sky-star-b{position:absolute;bottom:0;left:1px;color:#e4b977}.burger{display:none}
.nav{display:flex;flex-wrap:wrap;align-items:stretch;background:#39395f;border-bottom:3px solid #cca56f;padding:0 12px}.nav a{padding:10px 11px;color:#f0edf8;font-size:12px;font-weight:bold;border-right:1px solid rgba(255,255,255,.10);white-space:nowrap}.nav a:first-child{border-left:1px solid rgba(255,255,255,.10)}.nav a.on,.nav a:hover{background:#5c4d78;text-decoration:none;color:#fff}.nav a.on{box-shadow:inset 0 -3px #e2ba7f}
.page{display:grid;grid-template-columns:193px minmax(0,1fr) 203px;grid-template-areas:'left main right';column-gap:13px;padding:13px;align-items:start}.main{grid-area:main;min-width:0}.sidebar-left{grid-area:left;min-width:0}.sidebar-right{grid-area:right;min-width:0}.breadcrumb{font-size:11px;color:#8c8997;margin:2px 0 9px}.breadcrumb a{color:#72718e}h1{font:normal 25px/1.28 Georgia,'Times New Roman',serif;letter-spacing:-.2px;color:#2d3050;margin:0 0 9px}h2{font-size:14px}p{margin:0 0 9px}.intro{color:#646b7a;font-size:12px;line-height:1.6;margin:0 0 12px}
.panel,.block{border:1px solid var(--border);margin-bottom:12px;background:#fff}.panel-h{background:var(--purple-lite);border-bottom:1px solid #d9d3e8;box-shadow:inset 3px 0 #8b7aba;color:#4c4272;font-size:12px;font-weight:bold;line-height:1.3;margin:0;padding:8px 9px}.sidebar-left .panel:nth-child(2) .panel-h{background:var(--green-lite);color:var(--green);border-color:#cfe2d4;box-shadow:inset 3px 0 #65a17b}.sidebar-left .panel:nth-child(3) .panel-h{background:var(--gold-lite);color:#86633b;border-color:#efddbe;box-shadow:inset 3px 0 #ca9a60}.sidebar-right .panel:nth-child(1) .panel-h{background:var(--gold-lite);color:#86633b;box-shadow:inset 3px 0 #ca9a60}.sidebar-right .panel:nth-child(3) .panel-h{background:var(--blue-lite);color:var(--blue);box-shadow:inset 3px 0 #77a1b6}.sidebar-right .panel:nth-child(4) .panel-h{background:var(--green-lite);color:var(--green);box-shadow:inset 3px 0 #65a17b}
.linklist{list-style:none;padding:0;margin:0}.linklist li{margin:0;border-bottom:1px dotted #e2e1e8}.linklist li:last-child{border-bottom:0}.linklist a{display:block;padding:6px 9px;font-size:12px;line-height:1.25}.linklist a:hover{background:#f7f5fa;text-decoration:none}.linklist a.active{color:#4b3a7e;background:#f7f4fd;font-weight:bold}.link-emoji{font-size:13px;display:inline-block;width:20px;text-align:center;vertical-align:middle;margin-right:1px}.side-section{background:#f8f8fb;border-top:1px solid #eeeef3;border-bottom:1px solid #eeeef3;font-size:10px;color:#817d91;text-transform:none;font-weight:bold;padding:5px 9px}.side-section:first-of-type{border-top:0}.month-links{display:grid;grid-template-columns:1fr 1fr}.month-links a{padding:6px 9px;font-size:11px;border-bottom:1px dotted #e7e4eb}.month-links a:nth-child(odd){border-right:1px dotted #e7e4eb}.events{padding:3px 9px}.event{display:flex;gap:5px;padding:7px 0;border-bottom:1px dotted #e1dee5;font-size:11px}.event:last-child{border:0}.event-date{width:53px;flex:0 0 53px;color:#997348;font-weight:700}.event a{font-size:12px}.mini-numbers{padding:9px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.mini-numbers a{border:1px solid #e0deeb;text-align:center;padding:5px 0;background:#faf9fe;font-size:11px}.mini-numbers a:hover{background:#eeebf7;text-decoration:none}
.datebar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;background:#f2eef8;border:1px solid #d4cce5;border-left:3px solid #8c78b4;padding:7px 8px;margin-bottom:11px;font-size:11px;color:#817a90}.controls{display:flex;gap:5px}.smallbtn{display:inline-block;white-space:nowrap;border:1px solid #c7bedc;background:#fff;padding:5px 9px;font-size:12px;line-height:1.25}.smallbtn:hover{text-decoration:none;background:#eae4f5}.block-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:var(--purple-lite);box-shadow:inset 3px 0 #8b7aba;border-bottom:1px solid #d9d3e8}.block-h h2{padding:0;margin:0;color:#4d457b;font-size:14px}.block-h a{font-size:11px;white-space:nowrap}.block-green .block-h{background:var(--green-lite);box-shadow:inset 3px 0 #65a17b;border-color:#cfe2d4}.block-green .block-h h2,.block-green .block-h a{color:#357956}.block-gold .block-h{background:var(--gold-lite);box-shadow:inset 3px 0 #ca9a60;border-color:#efddbe}.block-gold .block-h h2,.block-gold .block-h a{color:#8c6239}.block-blue .block-h{background:var(--blue-lite);box-shadow:inset 3px 0 #77a1b6;border-color:#d6e1eb}.block-blue .block-h h2,.block-blue .block-h a{color:#3e708b}.block-content{padding:10px}
.today-main{padding:11px;display:grid;grid-template-columns:130px minmax(0,1fr);gap:11px}.mooncol{min-height:151px;padding:16px 4px 8px;text-align:center;background:radial-gradient(circle at 40% 20%,#495375,#272d4f 75%);border:1px solid #363854}.moon-disc{position:relative;overflow:hidden;width:80px;height:80px;margin:0 auto 10px;border-radius:50%;background:radial-gradient(circle at 24% 29%,#fff4d8,#e1c596 60%,#b89a73);box-shadow:0 0 12px rgba(235,218,190,.2)}.moon-disc:after{content:'';position:absolute;top:-7px;left:21px;width:82px;height:91px;border-radius:50%;background:#303752}.moon-disc.moon-waxing:after{left:-22px}.moon-caption{font-size:11px;line-height:1.4;color:#ead9bc}.data-table,.topic-table,.compact-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{padding:5px 7px;border-bottom:1px solid #e6e5ee;text-align:left;font-size:12px;vertical-align:top}.data-table th{background:#fbfafd;width:39%;font-weight:400;color:#777589}.data-table tr:last-child th,.data-table tr:last-child td{border-bottom:0}.data-table strong{color:#45396e}.block-foot{border-top:1px solid #e7e3ef;background:#fbfafd;padding:8px 10px;color:#7f7b8d;font-size:11px}.topic-table td{padding:7px 9px;border-bottom:1px solid #e7ece7;font-size:12px}.topic-table tr:last-child td{border:0}.topic-table tr:nth-child(even){background:#fbfcfa}.topic-table td:nth-child(2){width:124px}.topic-table td:last-child{text-align:right;white-space:nowrap}.topic-table a{color:#3d7456}.status{font-size:11px;white-space:nowrap}.status:before{content:'';display:inline-block;vertical-align:1px;background:#b8a57b;width:7px;height:7px;margin-right:5px;border-radius:50%}.status.good{color:#307d50}.status.good:before{background:#56a475}.status.bad{color:#a15d58}.status.bad:before{background:#ce7b75}.status.neutral{color:#957a52}.status.neutral:before{background:#c7ab6e}
.calendar-head{display:flex;gap:7px;align-items:center;margin-bottom:9px}.calendar-head strong{color:#6d4d73;font-size:14px}.calendar-head span{font-size:11px;color:#938a9d;margin-left:auto}.calendar{border-collapse:collapse;width:100%;table-layout:fixed}.calendar th{border:1px solid #dfd9e6;background:#f0ebf4;padding:6px 0;color:#655879;font-size:11px}.calendar th:nth-child(n+6){background:#f7ebf0;color:#a07383}.calendar td{border:1px solid #e4e0e9;vertical-align:top;height:67px;width:14.28%}.calendar td.empty{background:#faf9fb}.day-cell{display:block;position:relative;height:100%;min-height:67px;color:inherit;padding:6px 5px;text-decoration:none!important}.day-cell:hover{background:#f0ecfa}.day-cell.selected{background:#e9e1f6;outline:2px solid #9b88b9;outline-offset:-2px}.day-cell.eventday{background:#fff8eb}.day-cell.eventday.selected{background:#e9e1f6}.day-cell.weekend .number{color:#b56c83}.day-cell .number{display:block;font-size:15px;line-height:1;color:#595082}.day-cell small{display:block;margin-top:6px;font-size:10px;color:#77718b;line-height:1.2}.day-cell .sign{display:block;margin-top:3px;font-size:10px;color:#9991a1}.day-cell .phase-symbol{float:right;font-size:14px;color:#b38d55}.day-cell small .status{font-size:9px;white-space:normal}.day-cell small .status:before{width:5px;height:5px;margin-right:2px}.calendar-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:11px;padding-top:8px;color:#867984}
.compact-table th,.compact-table td{border:1px solid #e1e3ec;padding:7px 8px;text-align:left;vertical-align:top;font-size:12px}.compact-table th{background:#edf2f8;color:#5d738f}.compact-table tr:nth-child(even) td{background:#fafbfc}.compact-table .is-current td{background:#f2edfa}.directory{display:grid;grid-template-columns:1fr 1fr;padding:0 10px}.directory a{display:block;padding:9px 5px;border-bottom:1px dotted #e2dfea;font-size:12px}.month-directory,.number-directory{display:grid;grid-template-columns:repeat(4,1fr);padding:8px}.month-directory a,.number-directory a{font-size:12px;border:1px solid #eee9f2;margin:-1px 0 0 -1px;text-align:center;padding:7px 2px;background:#fcfbfd}.month-directory a:hover,.number-directory a:hover{background:#f2eef9;text-decoration:none}.prose{padding:12px 11px;color:#586070;line-height:1.72;font-size:12px}.prose p:last-child{margin:0}.muted{color:#8b8894;font-size:11px}.advert{margin-bottom:12px;max-width:100%;overflow:hidden}.footer{border-top:1px solid #d6d0e1;padding:13px 16px;background:#f5f2f8;color:#757080;font-size:11px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.footer a{font-size:11px;margin-left:11px}
@media(max-width:1100px){.page{grid-template-columns:185px minmax(0,1fr);grid-template-areas:'left main' 'right right'}.sidebar-right{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.header-art{display:none}.sidebar-right .panel{margin-bottom:0}}
@media(max-width:780px){.site{border:0}.topline{padding:5px 10px}.topline>div{display:none}.brandrow{min-height:0;padding:13px 60px 12px 12px;display:block}.brand{min-width:0}.brand-name{font-size:34px}.brand-mark{width:51px;height:51px;flex-basis:51px}.brand-crescent{width:34px;height:34px;top:7px;left:7px}.brand-crescent:after{width:33px;height:33px;left:13px;top:-7px}.brand-sub{font-size:11px}.header-current{margin:12px -48px 0 0;max-width:none;min-width:0;padding:8px 9px}.header-facts strong{font-size:15px}.header-label{margin-bottom:6px;font-size:11px}.header-note{font-size:10px}.burger{display:flex;position:absolute;top:14px;right:10px;flex-direction:column;align-items:center;gap:3px;padding:7px 8px;border:1px solid #bba4ba;background:rgba(20,18,38,.32);color:#f9edd7;z-index:3;font-size:10px}.burger-lines{display:block;width:20px}.burger-lines i{display:block;width:20px;height:2px;margin:3px 0;background:#ffe2b0}.burger[aria-expanded=true]{background:#695681}.nav{display:none;padding:0;border-bottom:2px solid #cca56f}.nav.open{display:flex;flex-direction:column}.nav a{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.1);border-right:0}.nav a:first-child{border-left:0}.page{display:flex;flex-direction:column;padding:10px}.main{order:0;width:100%}.sidebar-left{order:1;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sidebar-right{order:2;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sidebar-left .panel,.sidebar-right .panel{margin-bottom:10px}.sidebar-left .panel:last-child{grid-column:1/-1}.sidebar-left .panel:last-child .month-links{grid-template-columns:repeat(4,1fr)}h1{font-size:22px}}
@media(max-width:520px){.brandrow{padding-right:58px}.brand-name{font-size:32px}.header-current{margin-right:-46px}.header-facts{grid-template-columns:1fr 1.4fr .85fr}.header-facts strong{font-size:13px}.header-facts>div+div{padding-left:8px}.header-facts span{font-size:9px}.page{padding:9px}.sidebar-left,.sidebar-right{display:block}.sidebar-left .panel,.sidebar-right .panel{margin:0 0 11px}.today-main{grid-template-columns:100px minmax(0,1fr);padding:8px;gap:7px}.mooncol{min-height:128px;padding:12px 2px 6px}.moon-disc{width:64px;height:64px}.moon-disc:after{height:70px;width:64px;left:17px}.moon-disc.moon-waxing:after{left:-19px}.moon-caption{font-size:10px}.data-table th,.data-table td{padding:5px 4px;font-size:11px}.data-table th{width:43%}.topic-table td{padding:6px 5px;font-size:11px}.topic-table td:nth-child(2){width:110px}.topic-table a{font-size:11px}.topic-table .status{font-size:10px}.calendar td{height:56px}.day-cell{min-height:56px;padding:4px 3px}.day-cell .number{font-size:13px}.day-cell .sign{display:none}.day-cell small{font-size:9px;margin-top:7px}.day-cell small .status{font-size:8px}.day-cell .phase-symbol{font-size:12px}.calendar-legend{font-size:10px}.block-h h2{font-size:13px}.block-h a{font-size:10px}.directory{grid-template-columns:1fr}.month-directory{grid-template-columns:repeat(3,1fr)}.compact-table th,.compact-table td{padding:6px 4px;font-size:11px}.footer a{margin-left:7px}}

/* Mobile branding: short line and self-contained button, no overlap with wordmark. */
@media(max-width:520px){.brandrow{padding:12px 62px 11px 10px}.brand{gap:9px}.brand-name{font-size:29px;letter-spacing:-.9px}.brand-sub{max-width:230px;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.burger{width:48px!important;min-width:48px;max-width:48px;min-height:48px;top:12px;right:9px;padding:7px 5px}.brandrow:before{display:none}.header-current{margin:13px -51px 0 0}}
@media(max-width:370px){.brand-name{font-size:26px}.brand-mark{width:43px;height:43px;flex-basis:43px}.brand-crescent{transform:scale(.83);transform-origin:top left}.brand-sub{font-size:9px}.header-facts strong{font-size:12px}}

/* SEO content extension: tables and breadcrumb hierarchy remain compact. */
.breadcrumb{line-height:1.6;overflow-wrap:anywhere}.breadcrumb span[aria-current=page]{color:#514765}.breadcrumb span[aria-hidden=true]{color:#b5a4be;padding:0 2px}
.seo-custom-copy{padding:9px 10px;border:1px solid #e6ddec;background:#fbf8fd;color:#54516b;font-size:12px;line-height:1.7;margin:7px 0 11px}
.seo-month-table td:first-child{white-space:nowrap}.seo-month-table td:nth-child(2){white-space:nowrap}.seo-linklist{padding:0;margin:0}.seo-linklist a{padding:7px 10px}.seo-directory-tabs{margin-bottom:10px}.seo-directory-tabs a{background:#f7f2fb}
@media(max-width:540px){.seo-month-table th,.seo-month-table td{padding:6px 4px;font-size:10px}.seo-month-table td:nth-child(2) .status{font-size:10px}.datebar{flex-wrap:wrap}.controls{flex-wrap:wrap}}
/* Long data tables scroll inside their panels on narrow phones, not across the page. */
@media(max-width:520px){.main .block{min-width:0;max-width:100%;overflow-x:auto}.main .compact-table{min-width:0}}
