/* Shared interface: clear typography, restrained colour, touch-sized controls. */
:root{--ui-bg:#f5f7fa;--ui-panel:#fff;--ui-ink:#172a3d;--ui-muted:#536477;--ui-rule:#dbe3eb;--ui-accent:#176a65;--ui-wash:#e7f2ef;--ui-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--ui-bg:#101920;--ui-panel:#17252f;--ui-ink:#ebf2f6;--ui-muted:#afbeca;--ui-rule:#334651;--ui-accent:#97dbcc;--ui-wash:#213e38}}
html[data-theme="dark"]{--ui-bg:#101920;--ui-panel:#17252f;--ui-ink:#ebf2f6;--ui-muted:#afbeca;--ui-rule:#334651;--ui-accent:#97dbcc;--ui-wash:#213e38}
[hidden]{display:none!important}.ci-mast{--m-bg:var(--ui-panel);--m-ink:var(--ui-ink);--m-muted:var(--ui-muted);--m-accent:var(--ui-accent);--m-rule:var(--ui-rule);border-bottom:1px solid var(--ui-rule)}
.ci-mast::after{display:none}.ci-mast .ci-mast-in{max-width:1440px;padding:14px 32px;gap:20px}.ci-mast .ci-wordmark{font:700 16px/1.15 var(--ui-font);letter-spacing:-.035em;text-transform:none;color:var(--ui-ink)}.ci-mast .ci-wordmark-sub{display:none}.ci-mast .ci-rose{color:var(--ui-accent);width:25px;height:25px}.ci-mast .ci-nav{gap:20px}.ci-mast .ci-nav a,.ci-mast .ci-subnav a{font:550 13px/1.3 var(--ui-font);letter-spacing:0;text-transform:none;min-height:44px}.ci-mast .ci-nav a[aria-current="page"]::after{background:var(--ui-accent);bottom:0}.ci-mast .ci-subnav{border-color:var(--ui-rule)}.ci-mast .account a,.ci-mast .account button{font-family:var(--ui-font);font-size:13px}.ci-mast .account .acct-in{background:var(--ui-ink);color:var(--ui-panel)!important;border-radius:8px;padding:0 16px;min-height:44px}.ci-crumbs{font-family:var(--ui-font);color:var(--ui-muted)}
body.find-page,body.workspace-page{margin:0;background:var(--ui-bg);color:var(--ui-ink);font:16px/1.5 var(--ui-font);-webkit-font-smoothing:antialiased}body.find-page *,body.workspace-page *{box-sizing:border-box}body.find-page button,body.find-page input,body.find-page select,body.workspace-page button,body.workspace-page input,body.workspace-page select{font:inherit}body.find-page a,body.workspace-page a{color:var(--ui-accent)}button{cursor:pointer}:focus-visible{outline:3px solid var(--ui-accent);outline-offset:4px}
/* Parish detail pages keep their semantic sections and source receipts. */
body:has(.p-wrap){background:var(--ui-bg);color:var(--ui-ink);font-family:var(--ui-font);--bg:var(--ui-bg);--card:var(--ui-panel);--card-warm:var(--ui-wash);--ink:var(--ui-ink);--ink-muted:var(--ui-muted);--rule:var(--ui-rule);--marian:var(--ui-accent)}
.p-wrap .p-head h1{font:650 clamp(32px,4vw,54px)/1.08 var(--ui-font);letter-spacing:-.04em}.p-wrap .p-eyebrow,.p-wrap .p-action,.p-wrap h2,.p-wrap h3,.p-wrap .p-day-h{font-family:var(--ui-font);letter-spacing:0;text-transform:none}.p-wrap .p-place{font-style:normal;font-size:16px;color:var(--ui-muted)}.p-wrap .p-lede{font-size:16px}.p-wrap .p-action{border-radius:8px;font-size:14px}.p-wrap .p-head{padding:40px 0 30px}.p-wrap .p-section,.p-wrap .p-contact{border-radius:14px}.p-wrap .p-week{border-radius:12px}.p-wrap .p-day-h{font-size:13px}.p-wrap .p-mtime{font-family:var(--ui-font);font-size:16px}.p-wrap .p-rail{font-size:15px}
@media(max-width:1100px){.ci-mast .ci-nav{display:none}.ci-mast .ci-subnav{display:flex;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding:0 24px;gap:22px}.ci-mast .ci-subnav a{flex:none}.ci-mast .ci-mast-in{padding:10px 24px}}
@media(max-width:640px){.ci-mast .ci-mast-in{padding:9px 16px;gap:8px}.ci-mast .ci-wordmark{font-size:14px;white-space:normal;max-width:110px}.ci-mast .ci-brand{gap:7px}.ci-mast .ci-subnav{padding:0 16px;gap:20px}.ci-mast .ci-tools{gap:0}.ci-mast .account .acct-in{padding:0 12px}.ci-mast .ci-rose{width:24px;height:24px}.p-wrap .p-head{padding-top:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Map controls use the same visual language as the directory. */
body.world-map-page{--bg:var(--ui-bg);--card:var(--ui-panel);--ink:var(--ui-ink);--ink-muted:var(--ui-muted);--rule:var(--ui-rule);--gold:var(--ui-accent);--gold-deep:var(--ui-accent);--marian:var(--ui-accent);font-family:var(--ui-font)}
.world-map-page .shell{border-bottom:1px solid var(--ui-rule);box-shadow:0 2px 15px #172a3d0a}.world-map-page .brand-word{font:700 15px var(--ui-font);letter-spacing:-.025em;text-transform:none}.world-map-page .brand-rose{width:25px;height:25px;color:var(--ui-accent)}.world-map-page :is(button,input,select,summary,.instat,.mi-label,.menu-head,.intel-title,.leg-hint,.open-cta,.badge){font-family:var(--ui-font);letter-spacing:0;text-transform:none}.world-map-page :is(.chip-btn,.shell-menu>summary,.open-cta){border-radius:8px}.world-map-page .search-wrap input{border-radius:9px;font-size:14px}
body:has(#atlas-frame){font-family:var(--ui-font)}#atlas-frame :is(input,button,summary,h2,h3,.a-key-note,.a-line,.a-found,.a-hint,.a-status){font-family:var(--ui-font);letter-spacing:0;font-style:normal}.a-key{max-width:min(380px,calc(100vw - 32px))}.a-key-body{max-height:50dvh;overflow:auto}.a-key-note{font-size:12px;line-height:1.6}.a-bar,.a-panel,.a-key{border-radius:12px!important}.a-panel h2{font-size:26px!important}
body.signin-page{background:var(--ui-bg);color:var(--ui-ink);font-family:var(--ui-font)}.signin-page .card{background:var(--ui-panel);border:1px solid var(--ui-rule);border-radius:18px;box-shadow:0 16px 60px #172a3d0b}.signin-page .wordmark{font:700 25px/1.2 var(--ui-font);letter-spacing:-.04em;text-transform:none}.signin-page .wordmark-sub{font:15px/1.5 var(--ui-font);letter-spacing:0;text-transform:none;color:var(--ui-muted)}.signin-page .rose{width:48px;height:48px;color:var(--ui-accent)}.signin-page .rule{height:1px;background:var(--ui-rule);border:0}.signin-page .btn{font:600 15px var(--ui-font);border-radius:9px;letter-spacing:0;text-transform:none;min-height:48px}.signin-page .btn-primary{background:var(--ui-accent);color:var(--ui-panel);border-color:var(--ui-accent)}.signin-page .btn-secondary{color:var(--ui-ink);border-color:var(--ui-rule)}.signin-page .foot,.signin-page .or,.signin-page .status{font-family:var(--ui-font);font-style:normal;color:var(--ui-muted)}

.ci-mast .ci-subnav a[aria-current="page"]::after{background:var(--ui-accent)}
body:has(#atlas-frame){--a-serif:var(--ui-font);--a-display:var(--ui-font);--bg:var(--ui-bg);--card:var(--ui-panel);--ink:var(--ui-ink);--ink-muted:var(--ui-muted);--gold-deep:var(--ui-accent);--rule:var(--ui-rule)}
#atlas-frame .a-bar{display:grid;grid-template-columns:minmax(0,340px) 44px auto;gap:8px}#atlas-frame .a-search{min-width:0}#atlas-frame .a-search input{background:var(--ui-panel);border-color:var(--ui-rule);border-radius:9px}#atlas-frame .a-search input::placeholder{font-family:var(--ui-font);font-style:normal;font-size:14px}#atlas-frame .a-act{border-radius:9px;letter-spacing:0;text-transform:none;font:600 13px var(--ui-font);background:var(--ui-accent);color:var(--ui-panel);border-color:var(--ui-accent)}#atlas-frame .a-side{margin:0}#atlas-frame .a-key{background:var(--ui-panel);border-color:var(--ui-rule)}#atlas-frame .a-key summary{letter-spacing:0;text-transform:none;font:600 13px var(--ui-font)}#atlas-frame .a-key li{font:13px/1.7 var(--ui-font)}
@media(max-width:640px){#atlas-frame .a-bar{grid-template-columns:minmax(0,1fr) 44px auto}#atlas-frame .a-act{padding:0 10px;font-size:12px}#atlas-frame .a-key{right:10px}#atlas-frame .a-search input{padding-left:12px;padding-right:8px}#atlas-frame .a-search-ico{display:none}}
