/* Common ground production design layer. Existing layout and interactions remain.
   App-owned colors are true grayscale. Faith-owned covers, sigils, and hues stay intact. */
:root{
 --bg:#F4F4F4;--card:#FFFFFF;--ink:#272727;--muted:#626262;--faint:#6C6C6C;
 --line:#DEDEDE;--line-soft:#E8E8E8;--accent:#414141;--warn:#626262;--live:#414141;
 --accent-soft:#EEEEEE;--accent-line:#CECECE;--ink-soft:#484848;--sunk:#EBEBEB;
 --disp:"DM Sans",system-ui,sans-serif;--wordmark:"DM Sans",system-ui,sans-serif;--ui:"DM Sans",system-ui,sans-serif;
 --t-h1:32px;--t-hero:38px;--r:6px;--r-lg:6px;--r-pill:6px;
 --sh-1:0 1px 2px rgba(0,0,0,.025);--sh-2:0 3px 12px rgba(0,0,0,.055);--sh-3:0 6px 22px rgba(0,0,0,.1);
}
html .brand{font-family:"DM Sans",sans-serif;font-size:30px;font-weight:700;letter-spacing:-.055em;text-transform:lowercase;line-height:1}
html .brandmark{display:none}
html :is(h1,.ph h1,.door h1,.loghero h1,.xhead h1){font-weight:500;letter-spacing:-.035em;line-height:1.15}
html .idmain h1{font-size:36px}
html :is(h2,.ltname,.etitle){font-weight:500}
html :is(.bh h2,.secth h2,.shelfhead h2){font-size:20px;font-weight:500;letter-spacing:-.025em}
html .etitle{font-size:19px;font-weight:500;line-height:1.4;letter-spacing:-.02em}
html .elede{font-size:14px;line-height:1.7;color:var(--muted)}
html .qansclaim{font-weight:500;font-size:17px;line-height:1.5}
html :is(.navlink,.sdh,.qanshead){font-family:var(--ui);text-transform:none;letter-spacing:0}
html :is(.card h3,.sdh){font-weight:500}
html :is(blockquote,.fsaid){font-family:"Source Serif 4",Georgia,serif;font-weight:400}
/* One action-button grammar, including BOTH navigation actions.
   Compact utility actions use the same corners, type, and states at lower emphasis. */
html :is(.btn,.navnew,.navsign,.fbtn,.fstbtn,.stbtn,.secbtn){
 font-family:var(--ui);font-weight:600;letter-spacing:0;text-transform:none;
 border-radius:var(--control-radius,4px);border:1px solid var(--control-border,#cdcdc5);background:transparent;color:var(--ink);
 box-shadow:none;transition:background .15s ease,border-color .15s ease;transform:none;
}
html [data-action-emphasis="primary"]{background:#303030;color:#FFFFFF;border-color:#303030}
html :is(.navnew,.navsign){font-size:13px;line-height:1.4;padding:9px 15px;min-height:38px;display:inline-flex;align-items:center;justify-content:center}
html :is(.btn,.navnew,.navsign):hover{background:#EAEAEA;color:#202020;border-color:#666666;box-shadow:none;transform:none}
html [data-action-emphasis="primary"]:hover{background:#171717;color:#FFFFFF;border-color:#171717}
html :is(.fbtn,.fstbtn,.stbtn,.secbtn):hover{background:#E7E7E7;color:#202020;border-color:#BDBDBD;box-shadow:none}
html :is(.btn.on,.btn.saveon,.fbtn.on,.fbtn.join.on,.fstbtn.on,.stbtn.hold.on,.stbtn.rej.on,.secbtn.on){background:var(--surface-selected);color:var(--ink);border-color:var(--control-border)}
html .fbtn.join{background:transparent;color:var(--ink);border-color:var(--control-border)}
html :is(button,a,input,summary):focus-visible{outline:2px solid #555555;outline-offset:3px}
html :is(.sdl.on,.xchip.on,.chip.on){background:#E6E6E6;color:#272727;border-color:#CCCCCC}
html .tab.sel{color:#272727;border-bottom-color:#555555}
html .tab{font-weight:500}
html :is(.navwho,.navwho:hover){background:#484848;color:#FFFFFF}
/* More of the direction, with the exact same regions and grid geometry.
   Reading sections shed their boxes; questions and controls retain a surface. */
html .main>.block{background:transparent;border-color:transparent;border-top-color:var(--line);box-shadow:none;border-radius:0}
html .main>.block:first-child{border-top-color:transparent}
html .cols>aside:not(.railcol){background:#EFEFEF;border-color:transparent;box-shadow:none}
html .cols>aside:not(.railcol) .card{background:transparent;box-shadow:none}
html :is(.step,.ltile,.fcard){box-shadow:none}
html :is(.step,.ltile,.fcard):hover{box-shadow:none;transform:none}
html .qans{background:#F8F8F8;border-color:#E5E5E5;border-radius:6px}
html body>nav{box-shadow:none}
html .navsearch{background:#F4F4F4;border-color:#DDDDDD;border-radius:6px}
html .navsearch:focus-within{border-color:#999999;background:white}
@media(max-width:760px){html .brand{font-size:25px}html .navnew{font-size:0;padding:0;min-height:30px;width:30px;height:30px;border-radius:6px}html .navsign{padding:6px 11px;min-height:30px;font-size:12px}html .idmain h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){html :is(.btn,.navnew,.navsign,.fbtn,.fstbtn,.stbtn,.secbtn){transition:none}}
/* Labels belong to the same humanist sans family as the rest of the interface.
   Keep monospacing only in genuine code, not in metadata or fact headings. */
:root{--mono:"DM Sans",system-ui,sans-serif}
html :is(.lbl,.sdh,.fphrase,.qanshead,.qrefl,.irn,.phstat,.tdate,.tscope,.ftype,.sectally,.toplbl,.seedmark,.plbl,.headrec span,.qfl,.iwlbl,.iwpm,.tstate,.ltmeta){font-family:var(--ui);font-weight:500;letter-spacing:0;text-transform:none}
html .factrow .lbl{font-size:12px;line-height:1.5;color:#666666;font-weight:500;letter-spacing:.005em;text-transform:none}
html :is(.tdate,.tscope,.irn,.sectally){font-variant-numeric:tabular-nums}
html :is(code,pre){font-family:"JetBrains Mono",ui-monospace,monospace}

html :is(.btn,.navnew,.navsign,.fbtn,.fstbtn,.stbtn,.secbtn):disabled{background:#F4F4F4;color:#999999;border-color:#DDDDDD;cursor:not-allowed}

/* Landscape of belief: atmospheric contour engraving, always behind clear type. */
html .door{position:relative;isolation:isolate;overflow:hidden;background:#292929;color:#FFFFFF;border:1px solid #292929;border-radius:6px;max-width:none;margin-top:28px;outline:1px dashed #777777;outline-offset:-12px}
html .door:before{content:"";position:absolute;inset:0;z-index:-1;background:url("topography.svg") right center/auto 145% no-repeat;opacity:.38;mask-image:linear-gradient(90deg,transparent 20%,#000 85%);pointer-events:none}
html .door h1{font-size:clamp(32px,3.7vw,49px);max-width:580px;letter-spacing:-.045em}
html .door>p{max-width:580px;color:#DDDDDD}
html .cols>aside #you{position:relative;isolation:isolate;overflow:hidden;background:#292929;color:#FFFFFF;border:1px solid #292929;border-radius:6px;margin:12px;padding:24px;outline:1px dashed #888888;outline-offset:-8px}
html .cols>aside #you:before{content:"";position:absolute;inset:0;z-index:-1;background:url("topography.svg") center/auto 160%;opacity:.19;pointer-events:none}
html #you .cardnote{color:#DDDDDD}
html #you [data-action-emphasis="primary"]{background:#FFFFFF;color:#292929;border-color:#FFFFFF}
html #you [data-action-emphasis="primary"]:hover{background:#E6E6E6;border-color:#E6E6E6}
html .door{padding:44px}
html .door .doorstat{font:500 12px/1.6 var(--ui);letter-spacing:0;text-transform:none;color:#BDBDBD;margin-bottom:0}
@media(max-width:760px){html .door{padding:28px;margin-top:20px}html :is(.btn,.navsign,.fbtn,.fstbtn,.stbtn,.secbtn){min-height:44px}html .navnew{min-width:44px;min-height:44px}}

html .door .btn{color:#FFFFFF;border-color:#999999;background:transparent}
html .door .btn:hover{background:#3C3C3C;border-color:#DDDDDD}
html .door [data-action-emphasis="primary"]{background:#FFFFFF;color:#292929;border-color:#FFFFFF}
html .door [data-action-emphasis="primary"]:hover{background:#E6E6E6;color:#292929;border-color:#E6E6E6}
html :is(.door,#you) :is(a,button):focus-visible{outline-color:#FFFFFF}
/* Visitor invitation: the shared topography replaces the earlier colored illustration. */
html .guest-invite{background:#292929;color:#fff;border:1px solid #292929;border-radius:6px;position:relative;isolation:isolate;outline:1px dashed #777;outline-offset:-8px}
html .guest-copy{padding:26px 20px 0}
html .guest-copy h2{font:500 25px/1.18 var(--ui);letter-spacing:-.035em}
html :is(.guest-copy p,.guest-eyebrow,.guest-login,.guest-caption){color:#D0D0D0}
html .guest-eyebrow{font:500 11px/1.5 var(--ui);letter-spacing:0}
html .guest-signup{background:#fff;border-color:#fff;color:#292929;border-radius:6px;font-weight:600}
html .guest-signup:hover{background:#e6e6e6;color:#292929;border-color:#e6e6e6}
html .guest-login a{color:#fff}
html .guest-art{height:160px;margin-top:14px;background:url('/topography.svg') center/auto 180%;opacity:.5}
html .guest-caption{padding:14px 18px 22px}
html .guest-invite :is(a,button):focus-visible{outline-color:#fff}
html .guest-login a:hover{color:#fff}
html .navnew{background:transparent;color:#303030;border-color:#999}
/* New creations receive a permanent place before the home edition in every session state. */
.new-faiths{margin:0 0 28px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:24px}
.new-faiths-head{display:flex;gap:18px;align-items:flex-start;margin-bottom:20px}
.new-faiths-head>div{flex:1}.new-faiths-eyebrow{font-size:11px;font-weight:600;color:#666}
.new-faiths h2{font:500 25px/1.2 var(--ui);letter-spacing:-.035em;margin:6px 0 9px}
.new-faiths-head p{font-size:13px;color:#626262;line-height:1.6}
.new-faiths-head>.raillink{white-space:nowrap;font-size:12px;margin-top:5px}
.new-faiths-list{display:grid;gap:0}.new-faith{padding:20px 0;border-top:1px solid var(--line)}
.new-faith-title{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:500;letter-spacing:-.02em}
.new-faith-title a{text-decoration:none}.new-faith-title a:hover{text-decoration:underline;text-underline-offset:4px}
.new-faith-origin{font-size:11px;color:#626262;margin-top:5px}
.new-faith-premise{font-size:14px;line-height:1.65;margin-top:10px}
.new-faith blockquote{font:400 15px/1.6 'Source Serif 4',Georgia,serif;border-left:2px solid #ccc;padding-left:12px;margin:12px 0;color:#626262}
.new-faith-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}
.new-faith-actions .raillink{margin-left:auto;font-size:12px}
.new-faiths-foot{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:12px;color:#626262}
.invite-status{flex-basis:100%;font:400 12px/1.5 var(--ui);color:var(--muted)}
.invite-status input{width:100%;padding:8px;border:1px solid #999;border-radius:6px;background:white;color:#303030}
html :is(.fsect h2,.ftag,.qref,.doorstat){font-family:var(--ui);text-transform:none;letter-spacing:0}
html .btn[type=submit]:not(.o){background:#303030;color:#fff;border-color:#303030}
html .btn[type=submit]:not(.o):hover{background:#171717}
html :is(.qbtn,.stbtn,.fstbtn){font-weight:600;border-radius:6px}
html :is(.qbtn,.stbtn,.fstbtn)[aria-pressed=true]{background:var(--surface-selected);border-color:var(--control-border);color:var(--ink)}
@media(max-width:760px){.new-faiths{padding:20px}.new-faiths-head{display:block}.new-faiths-head>.raillink{display:inline-block;margin-top:12px}.new-faiths h2{font-size:23px}.new-faiths-foot{align-items:flex-start;flex-direction:column}}
/* Compact rail anatomy shared by popular and newly founded faiths. */
html .mrow{display:flex;gap:9px;align-items:center;padding:9px 0;min-width:0}
html .mface{width:25px;height:25px;border-radius:6px;flex-shrink:0}
html .mbody{flex:1;min-width:0;text-decoration:none;font-size:12px;line-height:1.4}
html .mbody b{display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html .mbody small{display:block;font:400 10px/1.5 var(--ui);color:var(--muted)}
html .mrow .fbtn{font-size:11px;padding:5px 8px}
html :is(.secstat,.fsect,.qnote,.doorstat,.sdmore,.raillink){font-family:var(--ui);letter-spacing:0}
.new-faiths-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.new-faith{min-width:0;display:flex;flex-direction:column}
.new-faith-title{align-items:flex-start;font-size:18px;line-height:1.35}
.new-faith-title .hd{margin-top:7px;flex-shrink:0}
.new-faith-actions{margin-top:auto;padding-top:14px}
.new-faith blockquote{font-size:14px}
@media(max-width:1200px){.new-faiths-list{grid-template-columns:1fr}.new-faith-actions{margin-top:14px;padding-top:0}}
html .guest-invite{overflow:hidden;flex-shrink:0}
html .guest-copy h2{margin:16px 0 12px}
html .guest-copy p{font-size:13px;line-height:1.65;margin-bottom:20px}
html .guest-signup{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:10px 12px;font-size:13px}
html .guest-login{display:block;text-align:center;font-size:11px;margin-top:12px}
html .guest-caption{font-size:11px;text-align:center}
html .side-guest{gap:14px}
html #you .btn[href="/intake"]{background:#fff;border-color:#fff;color:#292929}
html #you .btn[href="/intake"]:hover{background:#e6e6e6;border-color:#e6e6e6}
@media(max-width:760px){
 html .navin{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:10px 16px}
 html .brand{grid-column:1;grid-row:1;min-width:0}
 html .navnew{grid-column:2;grid-row:1;width:auto;height:auto;min-height:44px;padding:8px 12px;font-size:12px}
 html .navnew:before,html .navnew:after{content:none}
 html :is(.navsign,.navmenu){grid-column:3;grid-row:1}
 html .navsearch{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:0}
 html .navlinks{grid-column:1/-1;grid-row:3;display:flex;gap:22px;margin:0;padding:0;justify-content:flex-start}
 html .navlinks .navlink{font-size:12px;min-height:32px;display:inline-flex;align-items:center}
 html .navdie{display:none}
 html .door:before{opacity:.21;mask-image:linear-gradient(90deg,transparent,#000)}
}
/* Keep the existing three-level belief mechanic; give both sides the same neutral control grammar. */
html .halo{gap:6px;align-items:center}
html .halo .haloseam{display:none}
html .halo .halopill{font:600 12px/1.4 var(--ui);border:1px solid #999;border-radius:6px;background:transparent;color:#303030;min-height:34px;height:auto;padding:7px 10px;mask:none;-webkit-mask:none;transform:none;box-shadow:none}
html .halo .halopill.ico{width:34px;padding:7px;border-radius:6px}
html .halo .halopill:hover{background:#eaeaea;border-color:#666}
html .halo .halopill:is(.lit,.on){background:#e3e3e3;color:#252525;border-color:#aaa}
html .halo .halopill :is(.hr1,.hr2){stroke:#555}
html .halo .halopill .hc{fill:#555}
html .halo .hspark{display:none}
@media(max-width:760px){html .halo .halopill{min-height:44px}html .halo .halopill.ico{width:44px}}
/* Override the legacy connected-control masks as well as its outer shape. */
html .halo .halopill.hbelieve,html .halo .halopill.hdis{mask:none;-webkit-mask:none;padding-left:10px;padding-right:10px}
html .halo .halopill.ico{padding-left:7px;padding-right:7px}
html .thead h1{font:500 30px/1.2 var(--ui);letter-spacing:-.035em;text-transform:none}
html :is(.chip,.fmore){font-family:var(--ui);letter-spacing:0;text-transform:none}
/* The mapped-beliefs variant contains metadata and links as well as the signup copy. */
html .cols>aside #you{--ink:#FFFFFF;--muted:#DDDDDD;--faint:#C8C8C8;--line:#626262;--line-soft:#484848;--accent:#FFFFFF;--ink-soft:#E3E3E3}
/* Signature surfaces: at most one dark banner per page. White is the default. */
html .side-guest{padding:16px;gap:0}
html .guest-invite{display:flex;flex-direction:column;flex:1;min-height:560px;background:#f8f8f8;color:#272727;border:1px solid #ededed;outline:none;border-radius:8px}
html .guest-invite::before{content:"";position:absolute;inset:35% 0 0;z-index:-1;background:url('/topography.svg') 52% bottom/auto 115%;filter:invert(1);opacity:.22;mask-image:linear-gradient(transparent,#000 65%);pointer-events:none}
html .guest-copy{padding:26px 20px 0}
html .guest-copy h2{font-size:24px;line-height:1.2;letter-spacing:-.035em;margin:16px 0}
html :is(.guest-copy p,.guest-eyebrow,.guest-login,.guest-caption){color:#626262}
html .guest-signup{background:#fff;color:#272727;border:1px solid #898989}
html .guest-signup:hover{background:#ededed;border-color:#272727;color:#272727}
html .guest-login a,html .guest-login a:hover{color:#272727}
html .guest-art{flex:1;min-height:150px;height:auto;margin:0;background:none;opacity:1}
html .guest-caption{padding:24px 18px;color:#484848}
html .guest-invite :is(a,button):focus-visible{outline:2px solid #272727;outline-offset:3px}

/* Home is an exploration page: one introduction, real faith cards, a useful reading rail. */
@media(min-width:1041px){
 html .side-guest{left:16px;top:80px;bottom:20px;width:256px;padding:0;border:0;background:transparent}
 html .side-guest .guest-invite{border:0;background:#fff;min-height:520px}
}
html .home-door{padding:32px 36px;margin:24px 0 28px}
html .home-door h1{font-size:38px;max-width:580px;margin:12px 0}
html .home-door>p{font-size:16px;max-width:580px;line-height:1.65;margin:0 0 22px}
html .home-kicker{font-size:11px;font-weight:600;letter-spacing:.025em}
html .home-found{color:inherit;font-weight:600;font-size:13px;text-decoration:underline;text-underline-offset:4px;margin-left:8px}
html .discovery-shelf{padding:0;background:none;border:0;margin:0 0 28px;box-shadow:none}
html .discovery-shelf .new-faiths-head{align-items:center;margin-bottom:16px}
html .discovery-shelf h2{font-size:24px;margin:4px 0 6px}
html .discovery-shelf .new-faiths-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
html .discovery-shelf .ltile{background:#fff;display:flex;flex-direction:column;min-width:0}
html .discovery-shelf .ltmeta{font-family:var(--ui);text-transform:none;letter-spacing:0;font-size:11px}
html .discovery-shelf .lttag{flex:1}
html .discovery-shelf .ltrow{margin-top:16px}
html .home-columns{grid-template-columns:minmax(0,1fr) 280px;gap:24px}
html .home-columns .feedcol{max-width:none}
html .discovery-guide{background:#fff url('/topography.svg') right bottom/auto 180%;background-blend-mode:screen}
html .discovery-guide h3{font-size:22px;margin:10px 0 18px}
html .discovery-guide>a{display:block;padding:15px 0;border-top:1px solid var(--line);text-decoration:none}
html .discovery-guide>a b{display:block;font-size:13px}
html .discovery-guide>a span{display:block;font-size:12px;color:var(--muted);margin-top:6px;line-height:1.6}
html .discovery-faiths .mrow{padding:12px 0}
html .discovery-faiths .fbtn{display:none}
@media(max-width:1200px){html .home-columns{grid-template-columns:minmax(0,1fr) 250px;gap:18px}html .discovery-shelf .new-faiths-list{gap:10px}}
@media(max-width:900px){html .home-columns{grid-template-columns:minmax(0,1fr)}html .home-columns>.railcol{position:static;max-height:none}html .discovery-shelf .new-faiths-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){html .home-door{padding:28px 24px}html .home-door h1{font-size:30px}html .home-found{margin:8px 0}html .discovery-shelf .new-faiths-list{grid-template-columns:1fr}html .discovery-shelf .new-faiths-head{align-items:flex-start}}

/* Discovery destinations are page navigation; chips below are local jumps. */
html .discovery-nav{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:16px 0;margin:0 0 12px;flex-shrink:0}
html .discovery-nav a{display:block;padding:10px 16px;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;color:var(--ink)}
html .discovery-nav a:hover{background:#e9e9e9}
html .discovery-nav a[aria-current]{background:#fff;border-color:#999}
html .discovery-scope{font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 22px;max-width:740px}
html .discovery-jumps .xchips{margin-top:0}
html .home-page #new-faiths .shelfgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
html .home-page #new-faiths .ltile{display:flex;flex-direction:column}
html .home-page #new-faiths .lttag{flex:1}
@media(max-width:650px){html .discovery-nav{gap:3px}html .discovery-nav a{padding:10px;font-size:13px}html .home-page #new-faiths .shelfgrid{grid-template-columns:1fr}}

/* Signup is the primary guest action. The visitor page is a guided entry, not an edition. */
html .guest-signup{background:#272727;color:#fff;border-color:#272727}
html .guest-signup:hover{background:#101010;color:#fff;border-color:#101010}
html .guest-benefits{list-style:none;padding:0;margin:24px 0}
html .guest-benefits li{display:flex;gap:12px;margin:0 0 20px;align-items:flex-start}
html .guest-benefits li>span{font-size:22px;line-height:1;width:24px;flex-shrink:0;color:#555}
html .guest-benefits b{display:block;font-size:13px;font-weight:600}
html .guest-benefits small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:4px}
html .guest-copy h2{margin:0;font-size:25px}
html .guest-art{min-height:90px}
@media(min-width:1041px){html .side-guest{bottom:auto;max-height:calc(100dvh - 100px)}html .side-guest .guest-invite{flex:none;min-height:0}html .guest-copy{padding-top:24px}}
html .visitor-content .shelfgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
html .visitor-content .ltile{display:flex;flex-direction:column}
html .visitor-content .lttag{flex:1}
html .visitor-content .shelf{scroll-margin-top:90px}
html .visitor-next{display:flex;align-items:center;gap:24px;justify-content:space-between;border-top:1px solid var(--line);padding:28px 0}
html .visitor-next h2{font-size:22px;margin:0 0 8px}
html .visitor-next p{max-width:620px;font-size:14px;line-height:1.6;color:var(--muted);margin:0}
html .visitor-next .btn{flex-shrink:0}
html .visitor-browse{display:flex;flex-wrap:wrap;gap:24px;border-top:1px solid var(--line);padding:20px 0;font-size:13px;font-weight:600}
@media(max-width:650px){html .visitor-content .shelfgrid{grid-template-columns:1fr}html .visitor-next{align-items:flex-start;flex-direction:column}}