/* The DMI's pages (site v114). The delivered page's own stylesheet (dmi.css) comes first; this adds what the new pages need, in its colours. */
body.dmi2 .wrap{max-width:1040px;padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}
body.dmi2 header.dh{max-width:none;margin-bottom:18px;gap:8px}
.dnav{display:flex;flex-wrap:wrap;gap:4px 6px;margin:0}
.dnav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--rule);background:color-mix(in srgb,var(--surface) 88%,transparent);color:var(--accent);font-weight:600;font-size:15px;text-decoration:none}
.dnav a:hover{background:var(--accent-soft)}
.dnav a[aria-current="page"]{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.dnav a:focus-visible,.btnlink:focus-visible,.door2:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.dmain{display:grid;gap:18px}
.dmain>section,.dmain>div,.loadapp>*,.resapp>*,.hub>*,.guide>*,.qapp>*,.chapp>*{min-width:0}
.ld textarea,.ld input{max-width:100%}
.dmain h1{margin:0 0 8px}
.dmain h2{font-family:var(--serif);font-size:22px;margin:0 0 8px}
.dmain .lede{max-width:68ch}
.dfoot{margin-top:36px}
.dfoot .foot{font-size:14px;color:var(--muted);max-width:80ch}
.btnlink{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid var(--accent);border-radius:8px;background:var(--surface);color:var(--accent);font-weight:600;font-size:15px;text-decoration:none;box-sizing:border-box}
.btnlink:hover{background:var(--accent-soft)}
.btnlink.solid{background:var(--accent);color:var(--surface)}
.btnlink.solid:hover{filter:brightness(1.12);background:var(--accent)}
body.dmi2 button{min-height:44px}
body.dmi2 .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0}
body.dmi2 .row label{flex:1 1 100%}
body.dmi2 select,body.dmi2 input[type=text],body.dmi2 textarea{font:inherit;font-size:16px;padding:9px 10px;border:1px solid var(--rule);border-radius:6px;background:var(--surface);color:var(--ink);min-height:44px;max-width:100%}
body.dmi2 textarea{width:100%;font-family:ui-monospace,Menlo,Consolas,monospace}
/* details that are not the ranking's rows: a plain summary line */
details.dz{border-top:0}
details.dz>summary{display:block;grid-template-columns:none;padding:10px 0;min-height:44px;box-sizing:border-box;color:var(--accent);font-weight:600}
details.dz>summary::before{content:"+ ";font-weight:700}
details.dz[open]>summary::before{content:"\2212 "}
/* hub */
.hub{display:grid;gap:14px}
.hub h1{font-size:clamp(30px,5vw,46px)}
.hub-lede{max-width:68ch;margin:0}
.doors2{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:6px 0 0}
@media (max-width:640px){.doors2{grid-template-columns:minmax(0,1fr)}}
.door2{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none;min-height:88px}
.door2:hover{border-color:var(--accent)}
.door2 .dt{font-family:var(--serif);font-size:21px;font-weight:600;color:var(--accent)}
.door2 .dd{font-size:15px;color:var(--muted)}
.door2.primary{grid-column:1 / -1;background:var(--accent);border-color:var(--accent)}
.door2.primary .dt,.door2.primary .dd{color:var(--surface)}
.door2[hidden]{display:none}
.ex-link{margin:0}
.ex-link a{font-weight:600;color:var(--accent)}
.how3 ol{margin:0;padding-left:1.3em;display:grid;gap:6px;max-width:68ch}
.how3,.teaser,.qopen,.qend,.xround,.creed,.you2,.ld,.cmpapp,.chapp .chpick,.guide>section,.exbanner,.loadapp>.lddone,.loadapp>.ldask{background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--rule);border-radius:10px;padding:16px 18px}
.trust{font-size:15px;color:var(--muted);margin:0}
.teaser p{max-width:68ch}
/* questionnaire */
.qapp{display:grid;gap:12px;padding-bottom:150px}
.qprog{margin:0;font-weight:700;color:var(--muted);font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.qmsg{border-left:4px solid var(--accent);background:var(--accent-soft);padding:10px 12px;border-radius:0 8px 8px 0}
.qmsg button{margin-left:6px}
form.qs.qone,form.qs.qall{display:grid;gap:12px}
fieldset.qcard legend .t{font-size:clamp(20px,2.6vw,24px)}
fieldset.qcard .opts{gap:6px}
fieldset.qcard label.opt{border:1px solid var(--rule);border-radius:8px;padding:12px 10px;background:var(--surface);min-height:44px}
fieldset.qcard label.opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
fieldset.qcard label.opt.e{border-style:dashed}
fieldset.qcard .ot{font-size:17px}
fieldset.q0 .q0row label{display:inline-flex;align-items:center;gap:4px;min-height:44px;padding:0 6px}
fieldset.pq .pask{margin:12px 0 4px}
details.lvl{margin-top:10px;border-top:1px solid var(--rule)}
.lvchips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 6px}
.lvchip{position:relative}
.lvchip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.lvchip span{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--rule);border-radius:999px;background:var(--surface);font-size:15px;font-weight:600;color:var(--ink)}
.lvchip input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--surface)}
.lvchip input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
details.mych{margin-top:6px;border-top:1px solid var(--rule)}
details.mych p{margin:4px 0 8px;font-size:15px}
.qbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--rule);box-shadow:0 -4px 18px rgba(0,0,0,.12);padding:8px max(12px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.qmeter{height:5px;background:var(--rule);border-radius:3px;overflow:hidden;max-width:1040px;margin:0 auto 6px}
.qmeter i{display:block;height:100%;background:var(--accent)}
.qbtns{display:flex;gap:8px;align-items:center;max-width:1040px;margin:0 auto}
.qbtns button{min-height:48px;min-width:92px;font-size:16px}
.qbtns button:disabled{opacity:.4;cursor:default}
.qcount{flex:1 1 auto;text-align:center;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}
.qfin{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin:4px auto 0;max-width:1040px;font-size:14px}
.qfin a{color:var(--accent);font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.qchoices{display:grid;gap:14px;margin:10px 0}
.qchoices .big{min-height:52px;font-size:17px;justify-self:start;padding:0 22px}
.qchoice{border-top:1px solid var(--rule);padding-top:10px}
.qend-btns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
/* results */
.resapp{display:grid;gap:10px}
.resapp>#out{background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--rule);border-radius:10px;padding:10px 14px}
.resapp .sum{color:var(--muted);margin:0}
.cluster{border-left:3px solid var(--accent-soft);padding-left:8px;margin:6px 0}
.tiehead{margin:6px 0 2px;font-size:14px;color:var(--muted);font-style:italic}
details.gf>summary{font-size:14px;padding:6px 0;min-height:40px}
.qmark{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:50%;font-size:13px;margin-left:4px}
.resmore{display:grid;gap:12px;margin-top:6px}
.resmore>*{min-width:0}
.resmore[hidden]{display:none}
.bigcode{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(18px,3.4vw,24px);font-weight:700;letter-spacing:.06em;word-spacing:.3em;line-height:1.5;overflow-wrap:anywhere;margin:6px 0;color:var(--ink)}
.phonebox{border-top:1px solid var(--rule);margin-top:8px;padding-top:8px}
.qrhost svg{width:220px;height:220px;max-width:100%;display:block;border:8px solid #fff;border-radius:6px}
#creedBar .row{flex-wrap:wrap}
#creedBar input{flex:1 1 16em}
.exbanner{background:var(--accent-soft)}
.exlist{margin:6px 0;padding-left:1.4em;font-size:15px}
/* compare */
.pickers{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.pickers label{display:grid;gap:4px;flex:1 1 240px;font-weight:600;min-width:0}
.pickers select{max-width:100%;min-width:0}
.cmp-ttl{flex:1 1 auto;font-weight:700;min-width:0;overflow-wrap:anywhere}
body.dmi2>.cmp{z-index:60}
/* churches */
.chpick{display:grid;gap:6px;max-width:520px}
.chgrid{list-style:none;margin:0;padding:0;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.chgrid[hidden]{display:none}
.chgrid a{display:flex;align-items:center;min-height:48px;padding:8px 14px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--accent);font-weight:600;text-decoration:none}
.chgrid a:hover{border-color:var(--accent)}
.chbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}
.chbar[hidden]{display:none}
.chbar a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);color:var(--accent);font-weight:600;text-decoration:none}
.chcmp{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.chapp .profiles{max-width:none}
.chapp details.prof{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:0 14px}
/* guide */
.guide{display:grid;gap:14px}
.guide>section h2{margin-top:0}
.guide .terms{background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:0 16px}
.sitenote{font-size:15px;border-left:3px solid var(--accent);padding-left:10px}
/* load */
.loadapp{display:grid;gap:14px}
.drop input{max-width:100%;min-width:0;min-height:44px}
.drop{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border:2px dashed var(--rule);border-radius:10px;padding:16px}
.drop.over{border-color:var(--accent);background:var(--accent-soft)}
.dropnote{color:var(--muted)}
.ldmsg:empty{display:none}
.ldmsg{font-weight:600}
.lddone[hidden],.ldask[hidden]{display:none}
/* page help */
.dhelp{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:30;width:48px;height:48px;border-radius:50%;background:var(--surface);font-size:20px}
.dhelp-box{position:fixed;right:14px;bottom:calc(152px + env(safe-area-inset-bottom,0px));z-index:30;max-width:min(420px,calc(100vw - 28px));background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:12px 14px;box-shadow:0 8px 28px rgba(0,0,0,.2)}
@media print{body.dmi2 .qbar,body.dmi2 .dnav,body.dmi2 .dhelp{display:none}}
