:root{color:#333;font-synthesis:none;background:#f5f5f5;font-family:Arial,Helvetica,sans-serif}body{color:#333;background:#f5f5f5;margin:0}button,input,select,textarea{font:inherit}.roman-page{min-height:100vh;padding:0 0 32px;position:relative}.calendar-header{color:#fff;text-align:center;background:#007bff;padding:10px 14px;box-shadow:0 4px 8px #0000001f}.calendar-header h1{letter-spacing:.02em;margin:0;font-size:clamp(1.125rem,2.7vw,1.485rem)}.calendar-page-header{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.calendar-reading-settings{top:62px;left:14px;right:auto}.calendar-page-header h1{text-overflow:ellipsis;white-space:nowrap;grid-column:2;min-width:0;overflow:hidden}.calendar-settings-button{color:inherit;cursor:pointer;background:0 0;border:0;grid-column:1;justify-self:start;padding:4px;font-size:clamp(1rem,2.5vw,1.35rem);line-height:1}.calendar-settings-button:hover,.calendar-settings-button:focus-visible{outline-offset:2px;outline:2px solid}.reading-page-header{box-sizing:border-box;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;max-width:1100px;min-height:clamp(32px,5vw,46px);margin:0 auto;padding:clamp(4px,1vw,10px) clamp(6px,1.5vw,14px);display:grid}.reading-page-header h1{text-overflow:ellipsis;text-align:center;white-space:nowrap;grid-column:2;min-width:0;overflow:hidden}.reading-header-button{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:0;padding:4px;font-size:clamp(1rem,2.5vw,1.35rem);font-weight:700;line-height:1}.reading-back-button{grid-column:1;justify-self:start}.reading-settings-button{grid-column:3;justify-self:end}.reading-header-button:hover,.reading-header-button:focus-visible{opacity:1;outline-offset:2px;outline:2px solid}.calendar-content{box-sizing:border-box;background:#fff;border-radius:15px;max-width:1100px;margin:6px auto 24px;padding:20px;font-family:Segoe UI,Noto Sans,Roboto,Arial,sans-serif;box-shadow:0 6px 12px #0000001a}.classic-background{background:#efe1bd}.classic-background .calendar-content,.calendar-content.classic-background{background:#f6edda;box-shadow:0 6px 12px #684d2329}.classic-background .roman-toolbar{background:#f1e4c7;border-color:#cbb887}.classic-background .reading-tabs-toolbar,.classic-background .reading-content{background:#f6edda}.classic-background-option{align-items:center;gap:6px;margin-top:10px;display:flex}.roman-table tr.month-week-start td{border-top:3px solid #7b6845}.roman-toolbar{background:#f7fbff;border:1px solid #c8def5;border-radius:10px;flex-wrap:nowrap;align-items:center;gap:10px 18px;margin-bottom:10px;padding:10px 12px;font-size:.98rem;display:flex}.roman-date{flex:none;align-items:center;gap:6px;font-weight:400;display:inline-flex}.roman-date input,.roman-month input{border:1px solid #9fc5eb;border-radius:6px;padding:6px 8px}.roman-month{flex:none;align-items:center;gap:6px;font-weight:400;display:inline-flex}.roman-nav{flex-wrap:wrap;flex:auto;justify-content:center;gap:5px;min-width:0;display:flex}.roman-week-control{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.roman-week-label{color:#164c85;flex:none;font-weight:700}.roman-nav button{font-size:.98rem;font-weight:400}.roman-date-control,.roman-month-control{min-width:0}.roman-nav button,.reading-tabs button,.homily-toolbar button,.homily-editor-actions button,.homily-card-actions button{color:#fff;cursor:pointer;background:#007bff;border:0;border-radius:7px;padding:7px 10px}.roman-nav button:hover,.roman-nav button:focus-visible,.reading-tabs button:hover,.reading-tabs button:focus-visible{background:#0056b3}.reading-content .reading-heading{flex-wrap:nowrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.reading-content .reading-heading h2{color:#c00000;text-align:left;margin:0;font-size:1.1em}.reading-content .reading-heading h3{color:#c00000;text-align:right;margin:0;font-size:1.1em}.current-celebration{text-align:center;margin:8px 0 22px;padding:8px 16px 16px;font-size:1rem}.reading-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;padding:8px 0 2px;display:grid}.weekday{color:#2196f3;text-align:center;justify-self:end;font-size:1.21rem;font-weight:700;line-height:1.1}.date-large{color:#e60000;letter-spacing:-.06em;text-align:center;text-shadow:2px 2px 4px #0000003d;min-width:1.15em;margin:0;font-size:clamp(6.5rem,17vw,9.4rem);font-weight:700;line-height:.82}.lunar-date{color:#e60000;text-align:center;justify-self:center;font-size:1.1rem}.date-small{color:#3506f0;margin:10px 0 0;font-size:1.03rem;font-weight:700}.current-celebration article{max-width:850px;margin:0 auto}.current-celebration h3{color:#202020;margin:8px 0;font-family:Segoe UI,Noto Sans,Roboto,Arial,sans-serif;font-size:1.16rem}.current-celebration a{text-decoration:none}.current-celebration article+article{border-top:1px dashed #b8d7f5;margin-top:14px;padding-top:14px}.current-celebration-gospel-info,.reading-gospel-info{color:#020e5f;background:#94faf3;border-radius:5px;max-width:820px;margin:6px auto 0;padding:5px 14px;font-family:Segoe UI,Noto Sans,Roboto,Arial,sans-serif;font-size:1rem;font-style:italic;font-weight:300}.roman-table-wrap{border:1px solid #888;max-height:calc(100vh - 180px);overflow:auto}.roman-table-wrap[data-visible=false]{display:none}.roman-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.9rem}.roman-table th{text-align:center;z-index:2;background:#f2f2f2;font-weight:700;position:sticky;top:0}.roman-table th,.roman-table td{vertical-align:top;border:1px solid #555;padding:8px 10px}.roman-table tbody tr{cursor:pointer;transition:filter .15s,box-shadow .15s}.roman-table tbody tr:hover{filter:brightness(.97)}.roman-table tr.is-selected{outline-offset:-2px;outline:2px solid #007bff38;font-weight:600;box-shadow:inset 4px 0 #007bff}.roman-table tr.chasuble-Tr{background:#fff}.roman-table tr.chasuble-Tm{background:#e898f7}.roman-table tr.chasuble-Đ{background:#f67474}.roman-table tr.chasuble-X{background:#82f9ac}.roman-table .mono{font-family:ui-monospace,Consolas,monospace}.roman-table .roman-celebrations{overflow-wrap:anywhere;text-align:center;white-space:normal;min-width:0}.roman-table .roman-date-column,.roman-calendar-date{text-align:center;white-space:nowrap;width:64px;min-width:64px;padding-left:6px;padding-right:6px}.roman-table .roman-chasuble-column{text-align:center;white-space:nowrap;width:56px;min-width:56px;padding-left:6px;padding-right:6px}.roman-calendar-date span,.roman-calendar-date em{display:block}.roman-calendar-date em{margin-top:4px;font-weight:400}.roman-day-summary{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1rem;min-width:0;display:flex}.roman-day-header{text-align:left;flex:0 auto;min-width:0;display:block}.roman-day-title{margin-left:.35rem}.roman-primary-reading{flex:0 auto;min-width:0;margin-left:auto!important;padding-inline-start:1rem!important}.roman-primary-reading .reading-excerpt,.roman-primary-reading .reading-unavailable{overflow-wrap:anywhere;white-space:normal;font-weight:400}.roman-weekday-label{color:#164c85;flex:none;font-weight:600}.roman-celebrations ul{margin:0;padding:0;list-style:none}.roman-celebrations li+li{border-top:1px dashed #50505059;margin-top:8px;padding-top:8px}.roman-celebrations li{overflow-wrap:anywhere;padding-inline-start:.5rem}.roman-celebrations .roman-mass-row,.roman-celebrations .roman-seasonal-option-row{flex-wrap:wrap;align-items:baseline;gap:.15rem 1rem;display:flex}.roman-celebrations .roman-mass-row{justify-content:flex-start}.roman-celebrations .roman-seasonal-option-row{justify-content:center}.roman-seasonal-option-row .roman-mass-reading{margin-left:0}.roman-mass-title{text-align:left;flex:none}.roman-seasonal-option-title{font-size:inherit;font-weight:500}.roman-mass-reading{flex:0 auto;min-width:0;margin-left:auto}.roman-celebrations .roman-day-summary,.roman-celebrations .roman-day-header,.roman-celebrations .reading-excerpt,.roman-celebrations .reading-unavailable{overflow-wrap:anywhere;max-width:100%;font-family:Segoe UI,Noto Sans,Roboto,Arial,sans-serif}.current-celebration .reading-excerpt,.current-celebration .reading-unavailable{font-size:1rem}@media (width>=761px){.weekday{font-size:1.68rem}.lunar-date{font-size:1.52rem}.date-small{font-size:1.42rem}.current-celebration h3{font-size:1.16rem}.current-celebration .reading-excerpt,.current-celebration .reading-unavailable,.current-celebration-gospel-info{font-size:1.1rem}}.roman-celebrations .roman-saint-notice{font-weight:400}.roman-celebrations a{text-decoration:none}.reading-excerpt{color:#164c85;font-weight:500;text-decoration:none}.reading-reference{font-weight:700}.reading-excerpt:hover,.reading-excerpt:focus-visible{color:#9a3400;background:#e7f0ff}.reading-unavailable{color:#8a4100;font-weight:400}.roman-page>a,.calendar-content>a{color:#164c85;font-weight:700}.reading-tabs-toolbar{z-index:5;background:#fff;min-width:0;position:sticky;top:0;overflow:hidden}.reading-tabs{scrollbar-width:none;flex-wrap:nowrap;gap:8px;min-width:0;padding:2px 2px 6px;display:flex;overflow-x:auto}.reading-tabs::-webkit-scrollbar{display:none}.reading-tabs button{white-space:nowrap;color:#164c85;background:#eaf3fc;border:1px solid #0000;border-radius:14px;flex:none;min-height:34px;padding:6px 14px;font-weight:700}.reading-tabs [aria-selected=true]{color:#fff;background:#007bff}.reading-content{background:#fff;border-radius:10px}.reading-content section{border-bottom:1px solid #ddd;padding:2px 4px 18px}.reading-content h2{color:#c10e01;margin:0;font-size:clamp(1rem,2.7vw,1.35rem);line-height:1.2}.reading-content h3{color:#333;margin:0;font-size:clamp(.85rem,2.1vw,1.1rem);line-height:1.25}.reading-content p{white-space:pre-line;font-size:1em;line-height:1.5}.reading-settings{z-index:20;background:#fff;border:1px solid #c5d9ef;border-radius:10px;gap:8px;width:min(260px,100% - 40px);padding:12px;display:grid;position:absolute;top:62px;right:20px;box-shadow:0 5px 18px #0000002e}.reading-settings input[type=range]{accent-color:#007bff;width:100%}.reading-settings fieldset{border:0;gap:12px;margin:0;padding:0;display:flex}.reading-settings legend{margin-bottom:4px;padding:0;font-weight:700}.reading-panel.reading-font-small .reading-content p{font-size:.9rem}.reading-panel.reading-font-large .reading-content p{font-size:1.15rem}.reading-panel.reading-font-bold .reading-content p,.reading-panel.reading-font-bold .reading-content h2,.reading-panel.reading-font-bold .reading-content h3,.reading-panel.reading-font-bold .reading-content li{font-weight:700}.homily-toolbar,.homily-editor-actions,.homily-card-actions{flex-wrap:wrap;gap:.75rem;margin:.75rem 0;display:flex}.homily-editor{background:#f7fbff;border:1px solid #b8d7f5;border-radius:10px;gap:.75rem;margin:1rem 0;padding:1rem;display:grid}.homily-editor label{gap:.35rem;display:grid}.homily-editor input,.homily-editor textarea{box-sizing:border-box;font:inherit;border:1px solid #aac9e7;border-radius:6px;width:100%;padding:8px}.homily-list{gap:1rem;display:grid}.homily-card{border:1px solid #164c8547;border-radius:10px;padding:1rem;box-shadow:0 3px 8px #0000000f}.homily-content{white-space:pre-wrap}.homily-meta{opacity:.75;font-size:.9em}@media (width<=760px){.calendar-header h1{font-size:clamp(1.125rem,2.7vw,1.485rem)}.calendar-content{border-radius:0;margin:0;padding:12px}.roman-toolbar{grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:8px;padding:7px;font-size:1.12rem;display:grid}.roman-toolbar-label{display:none}.roman-date:before,.roman-month:before{color:#164c85;pointer-events:none;z-index:1;font-size:1.12rem;line-height:1;display:inline-block;position:relative}.roman-date,.roman-month{box-sizing:border-box;background:#fff;border:1px solid #9fc5eb;border-radius:7px;justify-content:center;width:5rem;min-height:2.25rem;padding:7px 8px}.roman-nav{gap:8px}.roman-week-control{flex-direction:column;justify-content:center;align-items:stretch;gap:2px}.roman-week-label{text-align:center;font-size:1.2rem;line-height:1}.roman-nav button{color:#164c85;background:#fff;border:1px solid #9fc5eb;border-radius:7px;min-height:2.25rem;padding:7px 9px}.roman-date:before{content:"Ngày"}.roman-month:before{content:"Tháng"}.roman-date-control,.roman-month-control{cursor:pointer;opacity:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.roman-date-control::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.roman-month-control::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.roman-date,.roman-month{justify-content:center;width:2.25rem;height:2.25rem;position:relative;overflow:hidden}.roman-date{position:relative;left:7pt}.roman-month{position:relative;right:7pt}.roman-nav{flex-wrap:nowrap;flex:auto;justify-content:center;gap:8px;width:100%}.reading-row{grid-template-columns:1fr auto 1fr;gap:8px}.weekday,.lunar-date{font-size:1.58rem}.date-large{font-size:clamp(6.25rem,37.5vw,10rem)}.roman-nav button{flex:auto;font-size:1.12rem}.current-celebration{margin-bottom:16px;padding-inline:8px;font-size:1.16rem}.current-celebration h3{font-size:1.18rem}.current-celebration .reading-excerpt,.current-celebration .reading-unavailable,.current-celebration-gospel-info{font-size:1.16rem}.roman-table{font-size:1.025rem}.roman-table th,.roman-table td{padding:6px 5px}.roman-table .roman-date-column,.roman-calendar-date,.roman-table .roman-chasuble-column{padding-left:4px;padding-right:4px}.roman-table .roman-date-column,.roman-calendar-date{width:52px;min-width:52px}.roman-table .roman-chasuble-column{width:42px;min-width:42px}.roman-day-summary,.roman-day-header{display:block}.roman-weekday-label{margin-bottom:0;display:inline}.roman-primary-reading{margin:5px 0 0!important;padding-inline-start:.75rem!important}.roman-celebrations li{padding-inline-start:.25rem}}@media (width<=480px){.calendar-content{padding:8px 6px}.roman-table{font-size:.95rem}.roman-table th,.roman-table td{padding:5px 3px}.roman-table .roman-date-column,.roman-calendar-date,.roman-table .roman-chasuble-column{padding-left:2px;padding-right:2px}.roman-table .roman-date-column,.roman-calendar-date{width:48px;min-width:48px}.roman-table .roman-chasuble-column{width:38px;min-width:38px}.roman-primary-reading{padding-inline-start:.5rem!important}.roman-nav button{flex:0 0 2rem;min-height:2rem;padding:5px;font-size:0}.roman-nav button:before{font-size:1.04rem;line-height:1}.roman-week-previous:before{content:"‹";padding-right:5px}.roman-week-current:before{content:"Tuần"}.roman-week-next:before{content:"›"}.roman-week-current{flex-basis:5rem!important}.roman-week-control{gap:2px}.roman-week-label{font-size:1.05rem}.roman-nav{gap:6px}.roman-date,.roman-month{width:4.5rem}.roman-toolbar{gap:4px;padding:5px;font-size:1.1rem}.current-celebration{margin-bottom:12px;padding-inline:3px;font-size:1.05rem}.current-celebration h3{font-size:1.18rem}.current-celebration .reading-excerpt,.current-celebration .reading-unavailable,.current-celebration-gospel-info{font-size:1.05rem}}.reading-detail-card{text-align:left;position:relative}.reading-detail-page .reading-detail-card{padding-top:0}.reading-detail-title{color:#164c85;text-align:center;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin:10px 0 6px;font-size:clamp(1rem,3vw,2rem);display:flex}.reading-weekday{color:inherit;font:inherit;white-space:nowrap}@media (width<=600px){.reading-page-header{min-height:30px}.reading-page-header h1{letter-spacing:0;font-size:clamp(.9375rem,4vw,1.25rem)}.reading-header-button{padding:2px;font-size:clamp(1rem,4.375vw,1.375rem)}.reading-tabs{gap:4px;padding:1px 1px 4px}.reading-tabs button{min-height:30px;padding:4px 10px;font-size:clamp(.875rem,3.375vw,1.0625rem)}.reading-settings{width:min(240px,100% - 16px);top:58px;right:8px}.calendar-reading-settings{top:52px;left:8px;right:auto}.reading-content .reading-heading{align-items:baseline;gap:8px}.reading-content .reading-heading h2,.reading-content .reading-heading h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reading-content .reading-heading h2{flex:auto}.reading-content .reading-heading h3{flex:0 48%}.reading-panel .reading-content p,.reading-panel .reading-content li{font-size:1.3em}.reading-panel .reading-content h2{font-size:clamp(1.43rem,3.86vw,1.93rem)}.reading-panel .reading-content h3{font-size:clamp(1.216rem,3vw,1.573rem)}.reading-detail-title{font-size:clamp(1.25rem,3.75vw,2.5rem)}}.reading-detail-meta{color:#666;text-align:center;margin:0 0 10px;font-size:.9rem}
