:root{--ink:#172b4d;--muted:#68758b;--paper:#faf8f3;--line:#e3e6ec;--blue:#243f70;--gold:#997332;--green:#35644f;--red:#965747}
.wedding-label{font-size:10px;color:#35644f;background:#eaf2eb;border-radius:4px;padding:3px 5px;margin:0 0 6px;width:fit-content}.wedding-calendar .is-wedding-day{background:#f3f8f3;box-shadow:inset 0 3px 0 #8ba98d}.wedding-calendar .calendar-day:not(.is-wedding-day){background:#fbfcfe;color:#8a95a5}.wedding-calendar .calendar-day:not(.is-wedding-day) .moon-times,.wedding-calendar .calendar-day:not(.is-wedding-day) .day-factors,.wedding-calendar .calendar-day:not(.is-wedding-day) .day-detail,.wedding-calendar .calendar-day:not(.is-wedding-day) .holiday-label{display:none}.wedding-months{display:grid;grid-template-columns:1fr;margin-top:20px;gap:2px}.wedding-months a{display:flex;justify-content:space-between;border-radius:5px;font-size:11px;padding:7px 10px;color:#d6e0ee}.wedding-months a[aria-current]{background:#ffffff20;color:white}.wedding-months a span:last-child{font-size:10px;color:#c4d3e5}.year-links>.annual-month-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.annual-month{background:white;border:1px solid var(--line);border-radius:8px;align-self:start;padding:14px 16px}.annual-month summary{cursor:pointer;font-size:14px}.annual-month summary span{float:right;font-size:11px;color:var(--muted)}.annual-month>div{display:flex;flex-direction:column;gap:9px;padding:15px 0 4px}.annual-month a{font-size:12px;line-height:1.8}.annual-dates{margin-top:36px}
@media(min-width:768px) and (max-width:1100px){.wedding-picker.roek-form{grid-template-columns:1fr 1fr auto}.wedding-picker.roek-form>.button{grid-column:3}.wedding-months{grid-template-columns:repeat(4,1fr);gap:4px}}
@media(max-width:767px){.wedding-calendar .calendar-day:not(.is-wedding-day){display:none}.wedding-calendar .is-wedding-day{box-shadow:none;background:transparent;border-left:0}.wedding-label{font-size:11px;grid-column:1/-1}.wedding-months{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:18px}.wedding-months a{flex-direction:column;padding:6px 7px;font-size:10px}.year-links>.annual-month-grid{grid-template-columns:1fr 1fr;gap:8px}.annual-month{padding:12px}.annual-month summary{font-size:12px}.annual-month summary span{float:none;display:block;font-size:10px;margin-top:3px}.annual-month a{font-size:11px}.wedding-page .site-header nav{gap:12px}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body.dr-page{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Tahoma,"Noto Sans Thai",sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c19b50;outline-offset:4px}a:hover{color:var(--gold)}.shell{max-width:1440px;margin:auto;padding:0 40px}.skip-link{position:absolute;top:-80px;left:16px;background:white;padding:12px;z-index:10}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:#fffefb}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;font-size:29px;font-weight:bold;line-height:1.2}.brand small{display:block;font-size:9px;letter-spacing:2px;font-weight:normal;margin-top:9px}.brand-mark{display:grid;place-items:center;width:45px;height:45px;color:var(--gold);background:#f4eddf;border:1px solid #dfd0b2;border-radius:50%;font-size:30px}.site-header nav{display:flex;gap:30px;font-size:14px}
.hero{padding:52px 0 42px;display:flex;justify-content:space-between;align-items:center;gap:40px}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:1px;color:var(--gold);margin:0 0 12px}.hero h1{font-size:36px;line-height:1.4;letter-spacing:-1px;margin:0 0 14px}.hero h1 span{display:block;font-size:28px;font-weight:normal;letter-spacing:0}.hero p:not(.eyebrow){color:var(--muted);font-size:15px;margin:0 0 22px}.popular-links{display:flex;flex-wrap:wrap;gap:10px}.popular-links a{border:1px solid #d7dce5;background:#fffefb;border-radius:24px;padding:9px 16px;font-size:13px}.popular-links a:hover{border-color:var(--gold)}.today-card{flex:0 0 235px;text-align:center;border:1px solid #dfd5c1;border-radius:14px;background:linear-gradient(150deg,#fffefb,#f3ecdd);padding:20px;box-shadow:0 8px 24px #172b4d05}.today-card>span{font-size:12px;color:var(--gold)}.today-card strong{display:block;font-size:58px;line-height:1.1;font-weight:normal;margin:6px 0}.today-card p{font-size:13px!important;margin:5px 0 15px!important}.today-card a{border-top:1px solid #e2d7bf;padding-top:13px;font-size:12px;display:block}
.workspace{display:grid;grid-template-columns:272px minmax(0,1fr);gap:24px;align-items:start}.search-panel{background:var(--blue);color:white;padding:26px 22px;border-radius:14px}.search-panel .eyebrow{color:#dfc58e}.search-panel h2{margin:0;font-size:23px}.search-panel .muted{color:#c8d2e4;font-size:12px;margin:6px 0 24px}.roek-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.roek-form label{font-size:11px;display:block;color:#e8edf5;min-width:0}.wide{grid-column:1/-1}select{width:100%;min-height:44px;border:1px solid #d9dfe8;border-radius:7px;background:white;color:var(--ink);padding:7px 10px;margin-top:7px;font-size:12px;max-width:100%}.button{border:0;background:#e7d2a5;color:#24334e;border-radius:7px;min-height:46px;padding:12px 16px;font-weight:bold;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px}.button:hover{background:#efdcb6;color:#24334e}.birth-filters{border-top:1px solid #ffffff28;padding-top:16px;font-size:11px}.birth-filters summary{cursor:pointer}.birth-filters summary span{color:#b7c4dc;float:right;font-size:10px}.birth-fields{display:grid;gap:12px;margin-top:15px}.panel-note{border-top:1px solid #ffffff28;margin-top:24px;padding-top:18px;display:flex;gap:10px;color:#cad5e7;font-size:11px}.panel-note>span{color:#dfc58e;font-size:24px}.panel-note p{margin:0}
.calendar-panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0}.calendar-toolbar{padding:24px 24px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.calendar-toolbar .eyebrow{margin-bottom:4px}.calendar-toolbar h2{font-size:23px;margin:0}.month-navigation{display:flex;align-items:center;gap:8px}.arrow-button{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px}.today-button{font-size:12px;padding:10px}.calendar-picker{display:flex;align-items:end;gap:10px;padding:0 24px 16px}.calendar-picker label{font-size:11px;color:var(--muted)}.calendar-picker select{min-height:36px;width:auto;min-width:100px;margin-top:4px}.secondary-button{min-height:36px;border:1px solid var(--line);border-radius:7px;padding:7px 12px;color:var(--ink);background:#f7f8fa;font-size:12px;cursor:pointer}.calendar-legend{border-top:1px solid var(--line);padding:12px 24px;display:flex;gap:16px;flex-wrap:wrap;font-size:10px;color:var(--muted);align-items:center}.legend-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px}.legend-dot.positive{background:var(--green)}.legend-dot.caution{background:var(--red)}.layout-hint{margin-left:auto}
.weekday-headings{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:#f4f6fa;border-top:1px solid var(--line);font-size:11px;text-align:center;padding:12px 0;color:#63738d}.weekday-headings span:first-child{color:var(--red)}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;padding:0;margin:0;border-top:1px solid var(--line);background:#fbfcfe;align-items:start}.calendar-day{padding:12px 10px;min-height:214px;align-self:stretch;background:white;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;position:relative;display:flex;flex-direction:column}.calendar-day:first-child{grid-column:var(--first-column)}.calendar-day:hover{background:#fcfaf5}.calendar-day.is-today{background:#f8f3e7;box-shadow:inset 0 0 0 2px #c5a365}.date-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.date-number{font-size:20px;line-height:1.25;font-weight:bold}.today-label{font-size:9px;color:#816024;background:#efe2c4;padding:1px 5px;border-radius:4px}.mobile-weekday{display:none}.lunar{font-size:10px;line-height:1.5;color:var(--muted);margin:8px 0;overflow-wrap:anywhere}.holiday-label{font-size:10px;line-height:1.5;color:var(--gold);margin:0 0 5px}.moon-times{margin:2px 0 10px}.moon-times p{display:flex;flex-wrap:wrap;gap:2px 5px;font-size:11px;line-height:1.5;margin:4px 0}.moon-times time,.time-start{font-size:10px;color:var(--muted);min-width:30px}.day-factors{font-size:10px;margin:0 0 12px}.day-factors summary{cursor:pointer;color:var(--muted);list-style:none;border-bottom:1px dashed #d2d9e4;padding:3px 0}.day-factors summary::before{content:'+';margin-right:4px}.day-factors[open] summary::before{content:'−'}.day-factors summary span{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:0 3px;font-size:9px}.factor-list{display:flex;flex-wrap:wrap;gap:4px;padding-top:7px}.factor{font-size:10px;border-radius:3px;padding:2px 4px;line-height:1.5}.factor.positive{background:#edf4ef;color:var(--green)}.factor.caution{background:#faf0eb;color:var(--red)}.day-detail{font-size:10px;color:#687b9b;display:flex;justify-content:space-between;margin-top:auto;padding-top:8px}.calendar-footnote{font-size:11px;color:var(--muted);line-height:1.8;margin:0;padding:16px 24px;background:#fcfcfd}
.below-calendar{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;margin:50px 0;padding-top:8px}.below-calendar h2,.year-links h2{font-size:23px;margin:0 0 14px}.below-calendar p:not(.eyebrow){color:var(--muted);font-size:14px}.text-link{font-size:13px;color:var(--blue);border-bottom:1px solid #c5cfdf;padding-bottom:4px}.guide-box{border:1px solid #dfd5c1;padding:25px;border-radius:12px;background:#f4efe4}.guide-box h3{font-size:16px;margin:0 0 14px}.guide-box ol{margin:0;padding-left:24px;color:var(--muted);font-size:13px}.guide-box li{padding:6px}.year-links{padding:30px 0;border-top:1px solid var(--line)}.year-links h2{font-size:18px}.year-links>div{display:flex;gap:10px 28px;flex-wrap:wrap}.year-links a{font-size:13px;color:var(--muted)}.ad-area{background:#f1f2f4;min-height:110px;border-radius:10px;margin:20px 0 40px;text-align:center;color:#8b94a3;font-size:10px;padding:10px;overflow:hidden}.site-footer{border-top:1px solid var(--line);padding:30px 0;background:#fffefb}.site-footer .shell{display:flex;align-items:center;justify-content:space-between;gap:25px;color:var(--muted);font-size:10px}.footer-brand{color:var(--ink);font-size:20px;white-space:nowrap}.footer-brand span{font-size:8px;letter-spacing:1px;margin-left:8px}.site-footer p{margin:0}
@media(min-width:1600px){.shell{max-width:1560px}.calendar-day{min-height:225px}.lunar{font-size:11px}.moon-times p{font-size:12px}}
@media(max-width:1100px){.shell{padding:0 24px}.workspace{grid-template-columns:minmax(0,1fr)}.search-panel{padding:22px 24px}.search-panel .muted{margin-bottom:14px}.roek-form{grid-template-columns:2fr 1fr 1fr auto;align-items:end}.roek-form>.wide{grid-column:auto}.roek-form>.birth-filters{grid-column:1/-1;grid-row:2;border-top:1px solid #ffffff28;padding-top:12px}.birth-fields{grid-template-columns:1fr 1fr}.roek-form>.button{grid-column:4;grid-row:1}.panel-note{display:none}.hero{gap:24px}.hero h1{font-size:32px}.hero h1 span{font-size:25px}.today-card{flex-basis:180px}.calendar-day{min-height:195px}.below-calendar{gap:30px}.site-footer .shell{flex-wrap:wrap}}
@media(max-width:767px){.shell{padding:0 18px}.header-inner{min-height:78px;gap:12px}.brand{font-size:24px;gap:8px}.brand-mark{width:34px;height:34px;font-size:22px}.brand small{font-size:7px;margin-top:6px}.site-header nav{gap:16px;font-size:11px}.site-header nav a:last-child{display:none}.hero{padding:30px 0;display:block}.hero h1{font-size:28px}.hero h1 span{font-size:22px;margin-top:3px}.hero p:not(.eyebrow){font-size:13px;line-height:1.8}.desktop-break{display:none}.today-card{display:none}.popular-links{gap:6px}.popular-links a{font-size:10px;padding:8px 10px}.workspace{gap:18px}.search-panel{padding:21px 18px;border-radius:12px}.roek-form{grid-template-columns:1fr 1fr;gap:12px}.roek-form>.wide{grid-column:1/-1}.roek-form>.birth-filters{grid-row:auto}.roek-form>.button{grid-column:1/-1;grid-row:auto}.search-panel h2{font-size:21px}.calendar-toolbar{padding:20px 16px 14px}.calendar-toolbar h2{font-size:21px}.month-navigation{gap:3px}.arrow-button{width:36px;height:36px}.today-button{padding:8px;font-size:11px}.calendar-picker{padding:0 16px 14px;gap:8px}.calendar-picker label{flex:1;min-width:0}.calendar-picker select{width:100%;min-width:0;font-size:11px}.secondary-button{white-space:nowrap;font-size:11px}.calendar-legend{padding:12px 16px;gap:10px;font-size:9px}.layout-hint{width:100%;margin:0}.weekday-headings{display:none}.calendar-grid{display:block;padding:0 16px;background:white}.calendar-day{min-height:0;padding:19px 0;border-right:0;display:grid;grid-template-columns:1fr auto;gap:0 12px}.calendar-day:first-child{grid-column:auto}.calendar-day.is-today{background:#fbf6eb;border-radius:8px;box-shadow:none;border-left:3px solid #b58e4c;padding:19px 12px;margin:8px -5px}.calendar-day:hover{background:transparent}.date-top{grid-column:1/-1;gap:10px}.date-number{font-size:27px}.mobile-weekday{display:inline;font-size:14px}.today-label{font-size:10px}.lunar{font-size:11px;grid-column:1/-1;margin:5px 0 10px}.holiday-label{font-size:12px;grid-column:1/-1}.moon-times{grid-column:1;grid-row:auto;margin:0 0 10px}.moon-times p{font-size:14px;gap:8px}.moon-times time,.time-start{font-size:11px;min-width:44px}.day-factors{grid-column:1/-1;font-size:12px;margin-bottom:8px;max-width:100%}.day-factors summary{width:fit-content;padding:5px 0}.day-factors summary span{font-size:10px}.factor{font-size:11px;padding:3px 7px}.day-detail{grid-column:1/-1;font-size:12px;justify-content:flex-start;gap:12px;margin:0;padding:4px 0;min-height:30px}.calendar-footnote{padding:16px;font-size:10px}.below-calendar{grid-template-columns:1fr;gap:20px;margin:32px 0}.below-calendar h2{font-size:21px}.below-calendar p:not(.eyebrow){font-size:13px}.text-link{font-size:11px}.guide-box{padding:20px}.year-links>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.year-links a{font-size:11px}.site-footer .shell{display:block}.site-footer p{margin:15px 0}.ad-area{margin-bottom:25px}.birth-fields{grid-template-columns:1fr}}

