@font-face{font-family:Pyidaungsu;src:url('assets/fonts/Pyidaungsu.ttf') format('truetype');font-display:swap}@font-face{font-family:Outfit;src:url('assets/fonts/Outfit.ttf') format('truetype');font-weight:100 900;font-display:swap}:root{--paper:#f5f1ec;--card:#fffdf9;--ink:#36333f;--muted:#817c88;--line:#e5dfe6;--plum:#6b527d;--lavender:#e8e0ef;--gold:#c59c5f}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Outfit,Pyidaungsu,sans-serif}html[lang=my] body{font-family:Pyidaungsu,Outfit,sans-serif;line-height:1.9}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.3;cursor:default}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.app{max-width:1240px;margin:auto;padding:0 42px}header{display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font:700 24px/1.4 Pyidaungsu,sans-serif}.brand small{display:block;font:400 12px Outfit,sans-serif;letter-spacing:2.6px;margin-top:7px;color:var(--muted)}.brand-orbit{font:50px/1 Outfit;color:var(--plum);transform:rotate(-28deg)}.header-actions{display:flex;gap:14px;align-items:center}.header-actions button{padding:9px 20px;border:1px solid var(--line);border-radius:30px;background:var(--card);font-size:13px}.header-actions .quiet{border:0;background:none;color:var(--plum)}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:43px 0 30px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin:0 0 8px}h1{font-size:34px;letter-spacing:-1px;font-weight:450;margin:0;line-height:1.5}html[lang=my] h1{font-size:29px;font-weight:600;letter-spacing:0}.date-picker{font-size:11px;color:var(--muted)}.date-picker span{display:block;margin-bottom:6px}.date-picker input{border:1px solid var(--line);border-radius:10px;background:var(--card);padding:10px;color:var(--ink);font:13px Outfit,sans-serif}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px}.calendar{background:var(--card);padding:28px;border:1px solid var(--line);border-radius:22px;align-self:start}.month-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.month-nav h2{font-size:25px;font-weight:500;margin:0}.month-nav p{font-size:12px;color:var(--muted);margin:5px 0 0}.arrows{display:flex;gap:8px}.arrows button{border:1px solid var(--line);border-radius:50%;height:35px;width:35px;background:transparent;color:var(--ink);font:18px Outfit}.weekdays,.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekdays{text-align:center;font-size:10px;color:var(--muted);margin-bottom:12px}.days{gap:6px}.day{background:transparent;border:1px solid transparent;min-height:87px;border-radius:13px;color:var(--ink);position:relative;text-align:center;padding:10px 2px 14px;display:flex;align-items:center;flex-direction:column;justify-content:center}.day:hover{background:var(--paper)}.day b{font:500 22px/1.4 Outfit,Pyidaungsu,sans-serif}html[lang=my] .day b{font-family:Pyidaungsu,sans-serif;font-size:20px}.day small{display:block;font-size:9px;white-space:nowrap;color:var(--muted);margin-top:2px}.day.selected{background:var(--plum);color:#fff}.day.selected small{color:#ded3e8}.day.is-today:not(.selected){border-color:var(--plum)}.day .dot{position:absolute;bottom:7px;left:calc(50% - 2px)}.dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--gold)}.legend{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.legend>span{display:flex;gap:8px;align-items:center}aside{background:var(--lavender);border-radius:22px;padding:25px;text-align:center;position:relative;overflow:hidden}aside .eyebrow{font-size:9px;letter-spacing:1.4px}.moon-scene{height:104px;display:grid;place-items:center;position:relative;margin:12px 0}.moon{height:73px;width:73px;border-radius:50%;background:#d6c0a5;box-shadow:inset -13px -3px 20px #9b7d6c30,0 8px 25px #51415c18;position:relative;overflow:hidden}.moon:after{content:'';position:absolute;inset:0;background:#756584}.phase-0 .moon:after{border-radius:50%;transform:translateX(-43%)}.phase-1 .moon:after{display:none}.phase-2 .moon:after{border-radius:50%;transform:translateX(43%)}.phase-3 .moon{background:#756584}.orbit-line{width:175px;height:80px;border:1px solid #b7a5c34d;position:absolute;border-radius:50%;transform:rotate(-25deg)}.selected-weekday{font-size:13px;color:var(--plum);margin:5px 0}.selected-number{font:300 83px/1 Outfit,Pyidaungsu,sans-serif;letter-spacing:-3px}html[lang=my] .selected-number{font-family:Pyidaungsu;font-size:71px;line-height:1.45}.selected-gregorian{font-size:12px;color:var(--muted);margin:8px 0 20px}.lunar-title{font-size:17px;font-weight:500;margin:0 0 12px;line-height:1.9}.badge{display:inline-block;background:#ffffff6b;border-radius:30px;padding:4px 15px;font-size:10px;color:var(--plum)}.facts{border-top:1px solid #c9bdd15c;padding-top:17px;margin:25px 0 0;text-align:left;font-size:11px}.facts div{display:flex;justify-content:space-between;gap:10px;margin:8px 0}.facts dt{color:var(--muted)}.facts dd{margin:0;text-align:right}.upcoming{margin:34px 0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.section-title h2{font-size:18px;font-weight:500;margin:0}.section-title>span{font-size:10px;color:var(--muted)}#upcoming-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.upcoming-card{background:transparent;border:1px solid var(--line);border-radius:14px;padding:17px;text-align:left;color:var(--ink);display:grid;grid-template-columns:25px 1fr;gap:3px 10px}.upcoming-card:hover{background:var(--card)}.upcoming-card b{font-size:13px;font-weight:500}.upcoming-card>span:not(.mini-moon),.upcoming-card small{grid-column:2;font-size:10px;color:var(--muted)}.mini-moon{height:15px;width:15px;border-radius:50%;background:linear-gradient(90deg,#84708f 50%,#d6c0a5 50%);align-self:center}.mini-moon.phase-1{background:#d6c0a5}.mini-moon.phase-2{transform:rotate(180deg)}.mini-moon.phase-3{background:#84708f}.about{border-top:1px solid var(--line);padding:22px 0;font-size:12px;color:var(--muted)}.about summary{cursor:pointer}.about p{max-width:800px;line-height:2}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:var(--card);padding:10px;z-index:3}footer{border-top:1px solid var(--line);padding:22px 0 28px;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:12px}footer a+ a{margin-left:16px}#error{padding:14px;background:#fce4df;color:#8b443c;border-radius:12px;margin-bottom:20px}
@media(max-width:950px){.app{padding:0 25px}.layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}.calendar{padding:20px}.day{min-height:77px}.day small{font-size:8px}.intro h1{font-size:29px}html[lang=my] h1{font-size:24px}.days{gap:2px}}
@media(max-width:720px){.app{padding:0 16px}header{padding:20px 0}.brand{font-size:21px}.brand-orbit{font-size:40px}.header-actions{gap:4px}.header-actions button{padding:7px 12px;font-size:11px}.intro{padding:25px 0;flex-direction:column;align-items:flex-start;gap:17px}.intro h1{font-size:30px}html[lang=my] h1{font-size:23px}.date-picker{display:flex;align-items:center;gap:14px}.date-picker span{margin:0}.layout{grid-template-columns:1fr}.calendar{padding:20px 12px}.month-nav{padding:0 8px}.month-nav h2{font-size:22px}.day{min-height:72px}.day small{font-size:8px}.day b{font-size:21px}.weekdays{font-size:9px}aside{padding:24px}.moon-scene{height:85px}.selected-number{font-size:72px}.facts{max-width:360px;margin:20px auto 0}.section-title{align-items:flex-start;flex-direction:column;gap:5px}#upcoming-list{grid-template-columns:repeat(2,minmax(0,1fr))}footer{flex-direction:column}.empty-day{min-height:0}}
@media(prefers-color-scheme:dark){:root{--paper:#24212b;--card:#2d2934;--ink:#ede5ef;--muted:#b1a6bb;--line:#443c4e;--plum:#bba0d0;--lavender:#393040;--gold:#dfb97e}.day.selected{background:#745b89;color:#fff}.badge{background:#ffffff10}.moon:after,.phase-3 .moon{background:#5f4e6f}.date-picker input{color-scheme:dark}}
.search-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:24px 0 10px}.search-bar label{font-size:12px}.search-bar input{flex:1;min-width:180px;padding:12px;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px}.search-bar button,.quote-actions button,.quote-actions select{padding:10px 16px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--card)}.quote-panel{margin:16px 0 8px;padding:24px 28px;border-radius:20px;background:linear-gradient(120deg,#151c3b,#67496c);color:#fff}.quote-panel>p{font-size:11px;color:#e3d4e8}.quote-panel blockquote{margin:16px 0 22px;font-size:22px;line-height:1.9;max-width:850px}.quote-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12px}.event-marker{position:absolute;top:2px;right:6px;font-size:9px;color:#d98373}.holiday{padding:12px 0;border-top:1px solid var(--line);margin-top:12px;font-size:13px}.holiday small{display:block;color:var(--muted);font-size:10px}.holiday-note{font-size:10px;color:var(--muted)}

.season-banner{margin-top:24px;padding:36px;border-radius:24px;min-height:220px;display:flex;flex-direction:column;justify-content:center;background-size:cover;background-position:center 58%;color:#fff}.season-banner p{font-size:13px;margin:0 0 10px}.season-banner h2{font-size:32px;margin:0;font-weight:500}.quote-panel{background:linear-gradient(120deg,#151c3b,var(--plum))}@media(max-width:720px){.season-banner{padding:24px;min-height:180px}.season-banner h2{font-size:24px}}@media(prefers-color-scheme:dark){body{background:#24212b}.day.selected{background:var(--plum)}aside{background:#393040}}
