:root{--blue:#2762a8;--blue-dark:#174776;--ink:#19324a;--muted:#6e8191;--bg:#f5f7f9;--accent:#b5ccd3;--line:#dce5ea;--white:#fff;--serif:"Alegreya",Georgia,serif;--sans:"Inter",Arial,sans-serif;--shadow:0 14px 40px rgba(30,67,93,.09);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,blockquote{font-family:var(--serif);line-height:1.08;margin:0}h1{font-size:clamp(2.3rem,5vw,4.8rem);letter-spacing:-.035em}h2{font-size:clamp(1.55rem,2.5vw,2.3rem)}h3{font-size:1.3rem}p{margin:.45rem 0 0}.app-shell{min-height:100vh}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:252px;background:#fff;border-right:1px solid var(--line);padding:26px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 28px}.brand strong{font-family:var(--serif);font-size:1.65rem}.brand small{display:block;color:var(--muted);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.brand-mark{display:inline-grid;place-items:center;width:45px;height:45px;border-radius:15px;background:var(--blue);color:#fff;font:700 1.55rem var(--serif);box-shadow:0 8px 18px rgba(39,98,168,.2);overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-mark.small{width:34px;height:34px;border-radius:11px;font-size:1.15rem}.nav-list{display:grid;gap:5px}.nav-list a,.sidebar-bottom a,.admin-nav a{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:12px;color:#647788;font-weight:600;font-size:.88rem}.nav-list a:hover,.sidebar-bottom a:hover,.nav-list a.active,.sidebar-bottom a.active,.admin-nav a.active{background:#eaf1f8;color:var(--blue)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:14px}.main{margin-left:252px;min-height:100vh}.topbar{height:72px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(220,229,234,.8);background:rgba(245,247,249,.87);backdrop-filter:blur(15px);position:sticky;top:0;z-index:40}.menu-button,.mobile-brand{display:none}.icon-button{border:0;background:transparent;width:42px;height:42px;display:grid;place-items:center;color:var(--ink);border-radius:50%;cursor:pointer}.icon-button:hover{background:#e8eef2}.top-actions{display:flex;align-items:center;gap:10px;margin-left:auto}.small-button{padding:8px 15px;border:1px solid var(--line);border-radius:999px;font-weight:700;font-size:.78rem}.avatar{display:grid;place-items:center;background:var(--blue);color:#fff;width:37px;height:37px;border-radius:50%;font-weight:700}.page{padding:42px 4vw 90px;max-width:1480px;margin:auto}.hero{min-height:480px;background:linear-gradient(125deg,var(--blue-dark),var(--blue));border-radius:28px;color:#fff;display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;box-shadow:var(--shadow)}.hero-copy{padding:clamp(40px,6vw,85px);display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.eyebrow,.label{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.hero h1{margin:10px 0 16px}.hero h1 em{font-weight:500}.hero-copy p{color:#dce9f5;max-width:450px}.hero-actions{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}.button{border:0;background:var(--blue);color:#fff;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(39,98,168,.2)}.button.light{background:#fff;color:var(--blue)}.button.ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35)}.button.outline{background:transparent;color:var(--blue);border:1px solid var(--accent)}.hero-art{background:linear-gradient(90deg,var(--blue) 0%,transparent 35%),linear-gradient(0deg,rgba(8,35,60,.62),transparent 60%),var(--hero) center/cover;display:flex;align-items:flex-end;padding:45px}.hero-verse{font:600 1.65rem var(--serif);border-left:2px solid rgba(255,255,255,.7);padding-left:18px}.hero-verse small{display:block;font:500 .65rem var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-top:8px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:42px 0 18px}.section-heading h2{margin-top:4px}.section-heading>a{color:var(--blue);font-weight:700;font-size:.82rem}.blue{color:var(--blue)}.live-dot{font-size:.7rem;font-weight:700;color:#4e8066}.live-dot:before{content:"";display:inline-block;width:7px;height:7px;background:#56a179;border-radius:50%;margin-right:7px;box-shadow:0 0 0 5px #deeee5}.now-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:25px;min-height:250px;display:flex;flex-direction:column;position:relative;transition:.2s}.card:hover,.prayer-card:hover,.place-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-icon{width:43px;height:43px;border-radius:13px;background:#e8f0f7;display:grid;place-items:center;color:var(--blue);margin-bottom:28px}.card .label{color:#78909e}.card h3{font-size:1.65rem;margin:8px 0}.card p{color:var(--muted);font-size:.88rem}.text-button{border:0;background:transparent;color:var(--blue);font-weight:700;padding:0;cursor:pointer;margin-top:auto;text-align:left}.saint-card{padding-left:110px}.saint-image{position:absolute;left:24px;top:24px;width:66px;height:90px;background-size:cover;background-position:center;border-radius:40px 40px 15px 15px}.split-section{display:grid;grid-template-columns:1fr 310px;gap:25px}.church-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.place-card{background:#fff;border-radius:18px;overflow:hidden;border:1px solid var(--line);transition:.2s}.place-image{height:125px;background-size:cover;background-position:center;padding:12px;display:block}.place-image b{background:rgba(255,255,255,.9);color:var(--blue);font-size:.6rem;text-transform:uppercase;padding:5px 8px;border-radius:999px}.place-card>span:last-child{display:block;padding:13px}.place-card strong,.place-card small{display:block}.place-card small{color:var(--muted);font-size:.72rem}.quiet-card{margin-top:42px;background:#e6eff3;padding:28px;border-radius:var(--radius)}.quiet-card blockquote{font-size:1.35rem;margin:18px 0}.quiet-card a{font-size:.75rem;color:var(--blue);font-weight:700}.page-head{margin-bottom:28px;max-width:800px}.page-head h1{font-size:clamp(2.5rem,5vw,4.2rem);margin:8px 0}.page-head p{color:var(--muted);font-size:1rem}.filter-bar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:22px}.search-field{height:48px;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:0 15px;border-radius:13px;min-width:300px}.search-field input{border:0;outline:0;background:transparent;width:100%}.directory-layout{display:grid;grid-template-columns:minmax(0,640px) 1fr;gap:20px}.directory-list{display:grid;gap:16px}.directory-card{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.directory-image{background-size:cover;background-position:center;padding:13px}.directory-image span{background:rgba(255,255,255,.92);padding:5px 8px;border-radius:999px;font-size:.62rem;font-weight:700;color:var(--blue)}.directory-body{padding:20px}.directory-body h2{font-size:1.55rem}.directory-body p{font-size:.8rem;color:var(--muted)}.directory-body p svg{vertical-align:-3px}.schedule-row{display:flex;gap:7px;align-items:center;margin:15px 0;flex-wrap:wrap}.schedule-row span{font-size:.67rem;text-transform:uppercase;font-weight:700}.schedule-row b{font-size:.68rem;background:#edf3f6;padding:5px 8px;border-radius:8px}.directory-body .button{padding:8px 12px;font-size:.75rem}.map-panel{position:sticky;top:92px;height:calc(100vh - 115px)}.map-canvas{height:100%;border-radius:22px;background:#dce8eb;overflow:hidden}.map-fallback{height:100%;display:grid;place-content:center;text-align:center;padding:30px;color:#607885}.map-fallback h3{margin-top:12px}.map-fallback p{max-width:340px}.reading-hero{height:380px;border-radius:28px;background:linear-gradient(90deg,rgba(19,57,88,.9),rgba(19,57,88,.2)),var(--reading-image) center/cover;color:#fff;display:flex;align-items:end;padding:55px}.reading-hero h1{max-width:800px;font-size:clamp(2.5rem,5vw,4.5rem);margin:10px 0}.liturgical-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#3c9559;margin-right:8px}.liturgical-dot.white{background:#eee;border:1px solid #ccc}.liturgical-dot.red{background:#b33}.liturgical-dot.violet{background:#704a94}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;margin-top:24px;align-items:start}.prose-card,.saint-profile,.prayer-sheet,.admin-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:clamp(25px,4vw,55px)}.prose-card h2{margin:10px 0 28px}.prose{font:500 1.25rem/1.9 var(--serif);color:#2a4153}.prose-card hr,.circle-aside hr{border:0;border-top:1px solid var(--line);margin:35px 0}.reflection{font:500 1.15rem/1.8 var(--serif);margin-top:12px}.saint-profile{padding:22px}.saint-profile img{aspect-ratio:4/3;object-fit:cover;border-radius:15px;margin-bottom:20px}.saint-profile h2{margin:5px 0}.saint-profile b{font-size:.75rem;color:var(--blue)}.saint-profile p{color:var(--muted);font-size:.83rem}.saint-profile blockquote{font-size:1.1rem;background:#eef4f6;padding:18px;margin:18px 0 0;border-radius:12px}.chips{display:flex;gap:7px;overflow:auto}.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--muted);padding:8px 13px;border-radius:999px;cursor:pointer;font-size:.75rem;font-weight:700}.chip.active{background:var(--blue);color:#fff;border-color:var(--blue)}.prayer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.prayer-card{background:#fff;border:1px solid var(--line);padding:26px;border-radius:20px;min-height:260px;transition:.2s}.prayer-card>span{color:var(--blue)}.prayer-card small{display:block;color:var(--blue);text-transform:uppercase;font-weight:700;letter-spacing:.1em;margin:18px 0 5px}.prayer-card p{color:var(--muted);font-size:.85rem}.prayer-card b{display:block;color:var(--blue);font-size:.78rem;margin-top:20px}.single-prayer{max-width:860px}.back-link{color:var(--blue);font-weight:700;font-size:.8rem}.prayer-sheet{margin-top:18px;text-align:center;padding:clamp(35px,7vw,80px)}.prayer-sheet h1{margin:14px 0 35px}.prayer-text{white-space:normal;font:500 1.35rem/2 var(--serif)}.prayer-actions{display:flex;justify-content:center;gap:10px;margin-top:40px}.planner-banner{background:linear-gradient(120deg,var(--blue-dark),var(--blue));color:#fff;border-radius:22px;padding:25px 30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.planner-banner p{color:#d7e5f1}.site-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.site-card{display:grid;grid-template-columns:210px 1fr;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.site-image{background-size:cover;background-position:center;padding:13px}.site-image label{display:inline-flex;align-items:center;gap:6px;background:#fff;padding:7px 10px;border-radius:9px;font-size:.7rem;font-weight:700}.site-card>div:last-child{padding:25px}.site-card h2{margin:5px 0}.site-card p,.site-card small{font-size:.8rem;color:var(--muted)}.circle-head{background:linear-gradient(120deg,var(--blue-dark),var(--blue));color:#fff;border-radius:27px;padding:45px;display:flex;justify-content:space-between;align-items:end}.circle-head p{max-width:650px;color:#d9e8f3}.circle-layout{display:grid;grid-template-columns:1fr 285px;gap:20px;margin-top:22px;align-items:start}.petition-list{display:grid;gap:13px}.petition-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px}.petition-meta{display:flex;align-items:center;gap:10px}.small-avatar{width:36px;height:36px}.petition-meta small{display:block;color:var(--muted);font-size:.65rem}.petition-card h2{margin:19px 0 7px}.petition-card>p{color:#526879}.petition-actions{display:flex;gap:8px;margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.petition-actions button{border:0;background:#eef3f6;padding:8px 12px;border-radius:9px;color:var(--blue);font-size:.73rem;font-weight:700;display:flex;align-items:center;gap:6px;cursor:pointer}.petition-actions b{color:var(--muted)}.circle-aside{background:#e7f0f3;padding:25px;border-radius:20px}.circle-aside p{font-size:.8rem;color:#526b79}.circle-aside b,.circle-aside small{display:block}.circle-aside b{font:700 1.8rem var(--serif)}.circle-aside small{color:var(--muted)}.modal{width:min(520px,calc(100% - 24px));border:0;border-radius:22px;padding:32px;box-shadow:0 30px 90px rgba(20,44,63,.25);color:var(--ink)}.modal::backdrop{background:rgba(17,40,58,.55);backdrop-filter:blur(3px)}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:1.7rem;color:var(--muted);cursor:pointer}.modal h2{margin:8px 0 20px}.form-grid{display:grid;gap:15px}.form-grid label{font-size:.73rem;font-weight:700;color:#50697a}.form-grid input,.form-grid textarea,.form-grid select,.admin-card select{display:block;width:100%;margin-top:6px;border:1px solid var(--line);background:#fbfcfd;border-radius:10px;padding:11px;outline:none}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(39,98,168,.1)}.check-label{display:flex;align-items:center;gap:8px}.check-label input{width:auto;margin:0}.auth-page{min-height:calc(100vh - 72px);display:grid;grid-template-columns:1fr 1fr}.auth-art{background:linear-gradient(0deg,rgba(12,44,70,.75),transparent),var(--hero) center/cover;padding:50px;display:flex;align-items:end;color:#fff}.auth-art blockquote{font-size:2rem;max-width:520px}.auth-art small{display:block;font:600 .7rem var(--sans);margin-top:10px}.auth-card{padding:clamp(35px,8vw,110px);max-width:650px}.auth-card h1{font-size:3.2rem;margin:14px 0}.auth-card>p{color:var(--muted);margin-bottom:25px}.auth-card .brand-mark{margin-bottom:35px}.auth-switch{text-align:center;font-size:.8rem}.auth-switch a{color:var(--blue);font-weight:700}.dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:15px}.dash-now,.dash-card{border-radius:20px;padding:27px;min-height:220px}.dash-now{background:linear-gradient(120deg,var(--blue-dark),var(--blue));color:#fff}.dash-now h2{margin:13px 0}.dash-now p{color:#d9e5ef}.dash-now b{display:block;margin-top:25px;font-size:.78rem}.dash-card{background:#fff;border:1px solid var(--line)}.dash-card>span{color:var(--blue)}.dash-card h2{margin:15px 0}.dash-card p{color:var(--muted);font-size:.82rem}.dash-card a{display:block;color:var(--blue);font-weight:700;font-size:.78rem;margin-top:24px}.mini-list{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}.mini-list article{display:grid;grid-template-columns:90px 1fr auto;gap:15px;align-items:center;padding:17px 22px;border-bottom:1px solid var(--line)}.mini-list article:last-child{border:0}.mini-list h3{font-family:var(--sans);font-size:.9rem}.mini-list small{color:var(--muted)}.status{display:inline-block;font-size:.62rem;text-transform:uppercase;font-weight:700;padding:5px 8px;border-radius:999px;background:#e7f0f3;color:#507286}.status.published,.status.active{background:#e3f2e9;color:#367554}.status.hidden,.status.suspended{background:#f5e5e5;color:#9d4545}.admin-shell{display:grid;grid-template-columns:190px 1fr;min-height:calc(100vh - 72px)}.admin-nav{padding:32px 16px;border-right:1px solid var(--line)}.admin-nav h3{font:700 .72rem var(--sans);text-transform:uppercase;letter-spacing:.12em;padding:0 12px 15px}.admin-content{padding:42px 4vw;max-width:1100px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.stat-grid div{background:#fff;border:1px solid var(--line);padding:23px;border-radius:16px}.stat-grid strong,.stat-grid span{display:block}.stat-grid strong{font:700 2.2rem var(--serif);color:var(--blue)}.stat-grid span{font-size:.7rem;text-transform:uppercase;color:var(--muted);font-weight:700}.admin-card{padding:28px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:17px}table{border-collapse:collapse;width:100%;min-width:650px}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);font-size:.78rem}th{color:var(--muted);text-transform:uppercase;font-size:.62rem}td small{display:block;color:var(--muted)}.admin-list{display:grid;gap:12px}.admin-list article{display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-list p{color:var(--muted)}.admin-list form{display:flex;gap:8px}.flash{position:fixed;z-index:100;right:25px;top:85px;background:#286f4c;color:#fff;padding:12px 18px;border-radius:12px;box-shadow:var(--shadow);animation:flash 4s forwards}.flash.error{background:#a84a4a}@keyframes flash{0%,80%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-10px);visibility:hidden}}.empty-state{text-align:center;padding:90px 20px;color:var(--muted)}.empty-state h1,.empty-state h2{color:var(--ink)}.mobile-nav,.drawer-scrim{display:none}.search-modal #globalResults{display:grid;gap:7px;margin-top:15px}.search-result{padding:12px;background:var(--bg);border-radius:10px}.search-result small{display:block;color:var(--muted)}.installer{min-height:100vh;display:grid;place-items:center;padding:25px}.install-card{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:25px;padding:40px;box-shadow:var(--shadow)}.install-card h1{font-size:2.6rem;margin:15px 0}.install-card hr{border:0;border-top:1px solid var(--line);margin:8px 0}.muted{color:var(--muted)}.notice{padding:14px;background:#eef3f6;border-radius:10px;margin:15px 0}.notice.error{background:#f8e9e9;color:#953f3f}.notice.success{background:#e3f2e9;color:#2c704c}.notice .button{margin-top:12px}
@media(max-width:1100px){.sidebar{width:220px}.main{margin-left:220px}.now-grid{grid-template-columns:1fr 1fr}.next-mass-card{grid-column:1/-1}.split-section{grid-template-columns:1fr}.quiet-card{margin-top:0}.directory-layout{grid-template-columns:1fr}.map-panel{position:relative;height:400px;top:0;order:-1}.site-card{grid-template-columns:160px 1fr}.circle-layout{grid-template-columns:1fr}.circle-aside{display:none}.dashboard-grid{grid-template-columns:1fr 1fr}.dash-now{grid-column:1/-1}.prayer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){body{font-size:14px;padding-bottom:68px}.sidebar{transform:translateX(-105%);transition:.25s;box-shadow:20px 0 60px rgba(12,36,56,.2)}.sidebar.open{transform:none}.drawer-scrim{position:fixed;inset:0;z-index:45;background:rgba(16,39,57,.45)}.drawer-scrim.show{display:block}.main{margin-left:0}.topbar{height:62px;padding:0 15px;background:rgba(245,247,249,.94)}.menu-button,.mobile-brand{display:flex}.mobile-brand{align-items:center;gap:9px}.mobile-brand strong{font:700 1.35rem var(--serif)}.top-actions .small-button{display:none}.page{padding:23px 15px 40px}.hero{min-height:630px;grid-template-columns:1fr;grid-template-rows:1.05fr .95fr;border-radius:22px}.hero-copy{padding:38px 25px}.hero h1{font-size:3.2rem}.hero-art{padding:25px;background:linear-gradient(0deg,rgba(8,35,60,.65),transparent 70%),var(--hero) center/cover}.hero-actions{width:100%}.hero-actions .button{flex:1;padding:11px 10px;font-size:.73rem}.section-heading{margin:32px 0 15px}.now-grid,.church-strip,.reading-layout,.prayer-grid,.site-grid,.dashboard-grid{grid-template-columns:1fr}.next-mass-card,.dash-now{grid-column:auto}.card{min-height:220px}.saint-card{padding-left:105px}.split-section{display:block}.quiet-card{margin-top:20px}.church-strip{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.place-card{min-width:230px;scroll-snap-align:start}.filter-bar{align-items:stretch;flex-direction:column}.search-field{min-width:0;width:100%}.filter-bar>.button{width:100%}.chips{width:calc(100vw - 30px)}.directory-card{grid-template-columns:1fr}.directory-image{height:180px}.map-panel{height:290px}.reading-hero{height:420px;padding:28px;border-radius:20px}.reading-hero h1{font-size:2.65rem}.reading-layout{display:grid}.prose-card{padding:28px 22px}.prose{font-size:1.13rem}.prayer-grid{gap:10px}.prayer-card{min-height:220px}.prayer-sheet{padding:35px 22px}.prayer-text{font-size:1.15rem}.planner-banner,.circle-head{align-items:flex-start;flex-direction:column;gap:20px;padding:27px 23px}.planner-banner .button,.circle-head .button{width:100%}.site-card{grid-template-columns:1fr}.site-image{height:210px}.petition-card{padding:20px}.petition-actions{align-items:stretch}.petition-actions form,.petition-actions button{flex:1}.petition-actions button{justify-content:center;padding:9px 5px;font-size:.66rem}.auth-page{display:block;min-height:auto}.auth-art{display:none}.auth-card{padding:45px 22px}.auth-card h1{font-size:2.7rem}.mini-list article{grid-template-columns:1fr auto}.mini-list article>.status{display:none}.admin-shell{display:block}.admin-nav{display:flex;overflow:auto;border:0;border-bottom:1px solid var(--line);padding:10px 15px}.admin-nav h3{display:none}.admin-nav a{white-space:nowrap}.admin-content{padding:25px 15px}.stat-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.admin-list article{display:block}.admin-list form{margin-top:15px}.circle-head h1{font-size:2.8rem}.mobile-nav{display:flex;position:fixed;z-index:42;bottom:0;left:0;right:0;height:68px;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding:5px max(6px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:58px;color:#80909c;font-size:.59rem;font-weight:700}.mobile-nav a.active{color:var(--blue)}.modal{padding:27px 20px}.install-card{padding:28px 20px}.flash{left:15px;right:15px;top:72px;text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
