/* themccrearys.com theme - black background, crest greens and gold. Loaded after /assets/bhx/bhx.css (shared base:
   buttons, cards, sign-in box, admin page). No inline styles anywhere (CSP style-src 'self'). */
:root{--bg:#000;--panel:#07120a;--panel2:#0b1a0f;--line:#1d3b25;--line2:#2a5535;--text:#e4efe6;--muted:#8fae97;
  --green:#2f8f46;--green2:#3fae58;--leaf:#7ed957;--deep:#123d22;--gold:#c9a64b;--gold2:#e2c46e;--alert:#ff7b7b;--warn:#e0b84b;--ok:#7ed957}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;display:flex;flex-direction:column}
a{color:var(--leaf)}a:hover{color:var(--gold2)}
img.crest{display:block;height:auto;flex:none}
.badge{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;border:1px solid var(--gold);color:var(--gold2);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
footer.site{margin-top:auto;padding:22px;text-align:center;color:#5f7a66;font-size:12.5px}

/* landing */
body.landing .topbar{display:flex;justify-content:flex-end;padding:18px 24px}
body.landing .topbar .btn{padding:9px 18px;font-size:15px}
.hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 24px 24px;text-align:center}
.crest-hero{width:auto;height:min(320px,46vh);filter:drop-shadow(0 0 28px rgba(63,174,88,.18))}
.hero h1{margin:18px 0 0;font-size:40px;font-weight:700;letter-spacing:.4px;color:var(--text)}
.hero h1::after{content:"";display:block;width:84px;height:3px;margin:14px auto 0;border-radius:2px;background:linear-gradient(90deg,var(--green),var(--gold),var(--green))}

/* signed-in chrome */
header.site{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding:14px 28px;background:linear-gradient(180deg,#06140a,#000);border-bottom:1px solid var(--line)}
header.site .brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--text)}
header.site .name{font-size:23px;font-weight:700;letter-spacing:.3px}
.nav{display:flex;gap:4px;flex-wrap:wrap}.nav a{padding:6px 12px;border-radius:7px;text-decoration:none;color:var(--muted);font-size:14px}
.nav a:hover{color:var(--text);background:var(--panel2)}.nav a[aria-current=page]{color:var(--text);background:var(--deep)}
.who{margin-left:auto;display:flex;align-items:center;gap:12px;font-size:14px}
main.page{width:100%;max-width:1180px;margin:0 auto;padding:24px 28px}
.crumbs{margin:0 0 12px;font-size:14px}

/* tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.tile{display:flex;flex-direction:column;gap:8px;min-height:150px;padding:18px;border-radius:12px;background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--green);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s}
.tile:hover{border-color:var(--leaf);border-top-color:var(--gold);transform:translateY(-2px);color:var(--text)}
.tile.sample{border-top-color:var(--deep)}
.tile .thumb{width:100%;height:120px;object-fit:cover;border-radius:8px;border:1px solid var(--line)}
.t-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.t-title{font-size:17px;font-weight:650}
.t-sum{color:var(--muted);font-size:14px;flex:1}
.t-more{color:var(--leaf);font-size:13px}
.detail{max-width:760px}.detail h2{margin:0 0 6px;font-size:22px}.detail .lead{color:var(--muted);margin-top:0}
.detail p{line-height:1.6}.detail-img{display:block;max-width:100%;height:auto;border-radius:10px;border:1px solid var(--line);margin:10px 0}

@media (max-width:640px){
  header.site{padding:12px 16px;gap:12px}header.site .name{font-size:19px}header.site img.crest{width:32px;height:42px}
  .who{margin-left:0;width:100%;justify-content:space-between}
  main.page{padding:16px}.hero h1{font-size:30px}
}

/* weather (Storm) - shared dashboard renderers come from /assets/bhx/bhx-dash.css; McCreary colors here */
.dash,.metrics{--panel3:#030a05;--info:var(--leaf)}
.tile.wx{grid-column:span 2;border-top-color:var(--leaf)}
.tile.wx .t-title{display:flex;align-items:center;gap:8px}
.tile.wx .metrics{margin-top:2px}.tile.wx .mv{font-size:17px}
.wx-sub,.wx-upd{display:block}
.badge.b-ok,.badge.b-info,.badge.b-warn,.badge.b-alert{border-color:currentColor;margin-left:0}
.badge.b-ok{color:var(--ok)}.badge.b-info{color:var(--leaf)}.badge.b-warn{color:var(--warn)}.badge.b-alert{color:var(--alert)}
.dash .card{border-top:3px solid var(--deep)}
.dash .card h3{color:var(--text)}
.dash .links a{color:var(--leaf);background:var(--panel2)}
.dash-head h2{color:var(--text)}
@media (max-width:640px){.tile.wx{grid-column:auto}}

/* report groups: World (Spot x2) spans two columns, Space & Tech (Elroy) one */
.tile.world{grid-column:span 2;border-top-color:var(--gold)}
.w-rows{display:flex;flex-direction:column;gap:10px;flex:1}
.w-row{display:flex;flex-direction:column;gap:2px;padding-top:8px;border-top:1px solid var(--line)}.w-row:first-child{border-top:0;padding-top:0}
.w-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-weight:600}
.w-row .t-sum{flex:none}
.rtabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}
.rtabs a{padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);text-decoration:none;font-size:14px;color:var(--text)}
.rtabs a:hover{border-color:var(--leaf);color:var(--text)}
.rcard h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rcard h3 a{color:var(--text);text-decoration:none}.rcard h3 a:hover{color:var(--leaf)}
.rmore{margin:12px 0 0}
@media (max-width:640px){.tile.world{grid-column:auto}}
.tile.space{border-top-color:var(--leaf)}

/* member content: events, moderation */
.flash{margin:0 0 14px;padding:10px 14px;border-radius:8px;border:1px solid var(--green2);background:var(--deep);color:var(--text)}
.flash.err{border-color:var(--alert);background:#2a0c0c;color:#ffd4d4}
.pst{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;border:1px solid}
.pst-pending{color:var(--warn);border-color:var(--warn)}.pst-rejected{color:var(--alert);border-color:var(--alert)}.pst-hidden{color:var(--muted);border-color:var(--muted)}
.pst-mod{color:var(--leaf);border-color:var(--leaf);margin:4px 0 0}
.nbadge{display:inline-block;min-width:18px;padding:0 6px;margin-left:4px;border-radius:999px;background:var(--gold);color:#000;font-size:11px;font-weight:700;text-align:center;line-height:18px}
.rtabs a[aria-current=page]{background:var(--deep);border-color:var(--green2)}
ul.evlist{list-style:none;margin:0;padding:0}
li.ev{display:flex;gap:14px;padding:12px 0;border-top:1px solid var(--line)}li.ev:first-child{border-top:0;padding-top:0}
.ev-date{flex:none;width:56px;height:58px;border-radius:10px;border:1px solid var(--line2);background:var(--panel2);display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none}
.ev-m{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--gold2)}.ev-d{font-size:22px;font-weight:700;color:var(--text);line-height:1.1}
.ev-title{font-weight:650;font-size:16px;color:var(--text);text-decoration:none}.ev-title:hover{color:var(--leaf)}
.ev-main{min-width:0}
.ev-tile{border-top-color:var(--gold)}
.ev-next{display:flex;flex-direction:column;gap:8px;flex:1}.ev-li{display:flex;flex-direction:column;gap:1px;padding-left:10px;border-left:2px solid var(--green)}
.ev-li-t{font-weight:600}
.evd h2{margin:0 0 6px;font-size:24px}.evd-when{margin:0 0 6px;font-size:16px;color:var(--gold2)}.evd-where{margin:0 0 12px}
.evd-body{line-height:1.6;margin:14px 0;overflow-wrap:anywhere}
.note-p{padding:8px 12px;border-left:3px solid var(--warn);background:var(--panel2);border-radius:6px}
.acts{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}
form.inl{display:inline-flex;gap:6px;align-items:center;margin:0}
form.inl input[type=text],.evform input,.evform textarea{padding:8px;border-radius:7px;border:1px solid var(--line2);background:#000;color:var(--text);font:inherit;font-size:14px}
.evform{max-width:760px}.evform h2{margin:0 0 12px}
.evform label.f{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;font-size:13px;color:var(--muted)}
.evform label.f input,.evform textarea{width:100%}
.evform .row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.evform .row label.f{flex:1;min-width:150px}
.evform label.cb{display:flex;align-items:center;gap:6px;margin:0 0 18px;font-size:14px}
.evform input:focus,.evform textarea:focus,form.inl input:focus{outline:2px solid var(--green2);outline-offset:0;border-color:var(--green2)}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}.cal-head h3{margin:0;font-size:18px}
.cal-wrap{overflow-x:auto}table.cal{width:100%;border-collapse:collapse;table-layout:fixed;min-width:640px}
.cal th{padding:6px;font-size:12px;color:var(--muted);text-align:left;font-weight:600}
.cal td{height:96px;vertical-align:top;border:1px solid var(--line);padding:4px 5px;background:var(--panel)}
.cal td.cal-x{background:#020603}.cal td.cal-today{background:var(--deep);border-color:var(--green2)}
.cal-n{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}
.cal-ev{display:block;font-size:12px;line-height:1.3;margin:2px 0;padding:2px 5px;border-radius:5px;background:var(--green);color:#fff;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-ev:hover{background:var(--green2);color:#fff}.cal-ev.cal-pending{background:#5a4512}.cal-ev.cal-hidden,.cal-ev.cal-rejected{background:#333}
.modq{padding:12px 0;border-top:1px solid var(--line)}.modq:first-of-type{border-top:0}
.modq-body{margin:6px 0;font-size:14px;color:#c8d8cc;overflow-wrap:anywhere}
.row.posting{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:8px 0 2px}
/* pages without bhx-dash.css (Events, Moderation) use the same heading row */
.dash-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.dash-head h2{margin:0;font-size:22px}
.ev-li .pst{align-self:flex-start;margin:2px 0}

/* Family News */
ul.nwlist{list-style:none;margin:0;padding:0}
li.nw{padding:14px 0;border-top:1px solid var(--line)}li.nw:first-child{border-top:0;padding-top:0}
li.nw-pinned{border-left:3px solid var(--gold);padding-left:12px}
.nw-title{font-weight:650;font-size:17px;color:var(--text);text-decoration:none}.nw-title:hover{color:var(--leaf)}
.nw-ex{margin:6px 0 0;font-size:14px;color:#c8d8cc;overflow-wrap:anywhere}
.pst-pin{color:var(--gold2);border-color:var(--gold2)}
.ev-li .pst-pin{margin-left:0}
.nw-tile{border-top-color:var(--leaf)}
.pager{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}
.nwd .evd-body{font-size:16px}

/* Photos */
.al-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.al-card{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--text);text-decoration:none}
.al-card:hover{border-color:var(--leaf)}
.al-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:#050a07}
.al-cover img{width:100%;height:100%;object-fit:cover;display:block}
.al-empty{color:var(--muted);font-size:13px}
.al-title{font-weight:650;font-size:16px}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:14px 0}
.ph-cell{position:relative;display:block;aspect-ratio:1/1;border-radius:8px;overflow:hidden;background:#050a07;border:1px solid var(--line)}
.ph-cell img{width:100%;height:100%;object-fit:cover;display:block}
.ph-cell:hover{border-color:var(--leaf)}
.ph-item{display:flex;flex-direction:column;gap:4px;min-width:0}
.ph-item.dragging{opacity:.45}
.ph-order .ph-item[draggable=true] .ph-cell{cursor:grab}
.ph-mv{display:flex;gap:4px;margin:0}
.ph-mv .btn{flex:1;padding:3px 4px;font-size:.78em;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-mv .btn:disabled{opacity:.35;cursor:default}
.ph-ost.good{color:var(--leaf)}.ph-ost.bad{color:#f88}
.al-grid.ph-order .ph-item>.al-card{flex:1;cursor:grab}
.ph-cap{position:absolute;left:0;right:0;bottom:0;padding:4px 8px;font-size:12px;color:#fff;background:rgba(0,0,0,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ph-tile{border-top-color:var(--leaf)}
.ph-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:8px 0}
.ph-strip img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px;display:block}
.modq-ph{grid-template-columns:repeat(8,64px)}
.ph-files{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.ph-file{display:grid;grid-template-columns:minmax(120px,1fr) 2fr minmax(120px,1fr);gap:8px;align-items:center}
.ph-fname{font-size:13px;overflow-wrap:anywhere}
.ph-fst.good{color:var(--leaf)}.ph-fst.bad,.ph-status .bad{color:var(--alert)}
.pv{max-width:1100px}
.pv-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}
.pv-fig{margin:0;text-align:center}
.pv-fig img{max-width:100%;height:auto;max-height:78vh;width:auto;border-radius:8px;background:#050a07}
.pv-fig figcaption{margin-top:8px;font-size:15px}
.pv-acts{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.pv-capform .f{display:inline-flex;flex-direction:column;min-width:260px}
.btn.dis{opacity:.4;pointer-events:none}
@media (max-width:640px){.ph-file{grid-template-columns:1fr}.ph-grid{grid-template-columns:repeat(3,1fr);gap:4px}}
.evform [hidden],.evform label.f[hidden],.ph-files[hidden]{display:none}
.mst{border-collapse:collapse;margin-top:10px}.mst td{padding:3px 8px;vertical-align:top}.mst caption{text-align:left}.pst-ok{color:#2e7d32;border-color:#2e7d32}
/* Videos */
.vd-card{display:flex;flex-direction:column;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--text);text-decoration:none}
.vd-card:hover{border-color:var(--leaf)}
.vd-cover,.vd-mini{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#050a07}
.vd-cover img,.vd-mini img{width:100%;height:100%;object-fit:cover;display:block}
.vd-noposter{font-size:40px;color:var(--muted)}
.vd-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;padding-left:3px;box-sizing:border-box}
.vd-card:hover .vd-play{background:rgba(0,0,0,.75)}
.vd-dur{position:absolute;right:6px;bottom:6px;padding:1px 6px;border-radius:4px;font-size:12px;color:#fff;background:rgba(0,0,0,.7);font-variant-numeric:tabular-nums}
.vd-tile{border-top-color:var(--gold2)}
.vd-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin:8px 0}
.vd-strip .vd-noposter{font-size:20px}
.vd-player{margin:0 0 14px;background:#000;border-radius:12px;overflow:hidden}
.vd-player video{display:block;width:100%;height:auto;max-height:78vh;background:#000}
.vd-player .vd-err{margin:0;border-radius:0}
.vd-pick{margin:6px 0 10px}
.vd-preview video{display:block;max-width:100%;max-height:260px;border-radius:8px;background:#000}
.vd-info{margin:6px 0}
.vd-warn{color:var(--gold2);font-size:14px;margin:6px 0}
.vd-prog{display:flex;align-items:center;gap:10px;margin:10px 0}
.vd-prog progress{flex:1;height:14px;accent-color:var(--leaf)}
.vd-status.bad{color:var(--alert)}
.evform .vd-pick[hidden],.evform .vd-prog[hidden],.evform .vd-warn[hidden],.vd-player [hidden]{display:none}
/* Birthdays & Anniversaries */
.oc-tile{border-top-color:#e88fb0}
.oc-next{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.oc-li{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center}
.oc-li .oc-ic{grid-row:1/3}.oc-li-t{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.oc-li .muted{grid-column:2}.oc-li .oc-when{grid-column:3;grid-row:1/3}
.oc-ic{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--panel2);border:1px solid var(--line);font-size:16px;line-height:1}
.oc-when{font-size:13px;color:var(--muted);white-space:nowrap}
.oc-now{color:var(--gold2);font-weight:700}
.oc-today .oc-ic{border-color:var(--gold2);background:#2a2410}
.oclist{list-style:none;margin:0;padding:0}
.oc{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.oc:last-child{border-bottom:0}
.oc-name{font-weight:600;font-size:16px}
.oc-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}
.oc-cnt{font-size:14px;color:var(--text)}
.oc.oc-today{background:linear-gradient(90deg,rgba(226,196,110,.12),transparent);border-radius:8px;padding-left:6px}
.oc-months{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.oc-month h3{margin:0 0 6px}.oc-month.oc-cur{border-color:var(--gold2)}
.oc-big{font-size:18px;margin:6px 0 12px}
.oc-kinds{border:0;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:14px}.oc-kinds legend{font-size:14px;color:var(--muted);margin-bottom:4px}
/* What's new since your last visit */
.wn{margin:0 0 18px;padding:14px 18px;border-top:3px solid var(--gold)}
.wn-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.wn-head h3{margin:0 0 8px;font-size:18px}.wn-since{font-size:14px;font-weight:400}
.wn-actions{display:flex;gap:8px;align-items:center;margin:0;flex:none}
.wn-x{padding:2px 10px;font-size:18px;line-height:1.2}
.wn-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px 22px}
.wn-g h4{margin:4px 0 6px;font-size:15px}.wn-g h4 a{color:var(--text);text-decoration:none}.wn-g h4 a:hover{color:var(--gold2)}
.wn-g ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px}
.wn-g li{padding-left:10px;border-left:2px solid var(--green);line-height:1.35}
.wn-g li.muted{border-left-color:transparent}
.wn p{margin:0}
.badge.wn-badge{border-color:var(--gold2);background:var(--gold);color:#000;text-transform:none;letter-spacing:0;white-space:nowrap}
/* Comments (inc/comments.php) */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cm{border-top:3px solid var(--deep);margin-top:14px}.cm h3{margin:0 0 10px}.pv + .cm{max-width:1100px;box-sizing:border-box}
.cm-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:0}
.cm-item{padding:10px 0 10px 12px;border-top:1px solid var(--line);border-left:2px solid var(--green)}.cm-item:first-child{border-top:0}
.cm-item.cm-own{border-left-color:var(--gold)}.cm-item.cm-pending{border-left-color:var(--warn)}.cm-item.cm-hidden,.cm-item.cm-rejected{border-left-color:var(--muted);opacity:.85}
.cm-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.cm-who{color:var(--text)}
.cm-body{margin:4px 0 0;line-height:1.55;overflow-wrap:anywhere}
.cm-note{margin:4px 0 0}
.cm-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:6px}
.btn.small{font-size:12.5px;padding:4px 10px}
.cm-form{display:flex;flex-direction:column;gap:6px;margin:0}.cm-form label{font-size:13px;color:var(--muted)}
.cm-form textarea{width:100%;box-sizing:border-box;min-height:70px;padding:8px;border-radius:7px;border:1px solid var(--line2);background:#000;color:var(--text);font:inherit;font-size:14px;resize:vertical}
.cm-form textarea:focus{outline:2px solid var(--green2);outline-offset:0;border-color:var(--green2)}
.cm-form .acts{margin-top:2px}
.cm-editform{margin-top:6px}
.cm-n{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-size:12px;color:var(--gold2);white-space:nowrap;vertical-align:middle}
.cm-ico{display:inline-block;width:12px;height:10px;border:1.5px solid currentColor;border-radius:3px;position:relative;box-sizing:border-box}
.cm-ico::after{content:"";position:absolute;left:2px;bottom:-4px;border:3px solid transparent;border-top-color:currentColor;border-left-color:currentColor}
.ph-cell .cm-n{position:absolute;top:6px;right:6px;margin:0;padding:1px 6px;border-radius:999px;background:rgba(0,0,0,.65);color:#fff}
.wn-g li.wn-own{border-left-color:var(--gold)}.wn-mine{font-weight:400}
/* collapsible inline add forms: <details class="addbox"><summary class="btn primary">+ Add ...</summary> form </details> (no JS) */
details.addbox{margin:14px 0}
details.addbox>summary,details.actbox>summary{display:inline-block;list-style:none;user-select:none}
details.addbox>summary::-webkit-details-marker,details.actbox>summary::-webkit-details-marker{display:none}
details.addbox>summary::marker,details.actbox>summary::marker{content:""}
details.addbox>summary:focus-visible,details.actbox>summary:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
details.addbox .ab-opened,details.actbox .ab-opened{display:none}
details.addbox[open]>summary .ab-closed,details.actbox[open]>summary .ab-closed{display:none}
details.addbox[open]>summary .ab-opened,details.actbox[open]>summary .ab-opened{display:inline}
details.addbox[open]>summary.btn,details.actbox[open]>summary.btn{background:var(--panel2);border-color:var(--line2);color:var(--text);font-weight:400}
details.addbox[open]>summary.btn:hover,details.actbox[open]>summary.btn:hover{border-color:var(--leaf)}
details.addbox>.card{margin-top:10px}
.cm details.cm-addbox{margin:12px 0 0}
.cm details.cm-addbox>.cm-form{margin-top:10px}
/* collapsed action forms (v=17): photo caption edit ("Edit caption" / "+ Add caption") and moderator actions that take an
   optional note (Reject / Hide on posts, comments and the moderation queue): <details class="actbox"><summary class="btn">..</summary>
   <form>..</form></details>, no JS. Inside an .acts / .cm-acts row the open box takes its own line. */
details.actbox{display:inline-block;margin:0;vertical-align:middle;font-size:0}
details.actbox>summary{vertical-align:top;margin:0}
.acts details.actbox[open],.cm-acts details.actbox[open],.pv-acts details.actbox[open]{flex-basis:100%}
details.actbox>form,details.actbox>form.inl{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 0;font-size:14px}
details.actbox>form input[type=text]{flex:1 1 220px;min-width:0;max-width:520px}
details.actbox>form.pv-capform{align-items:flex-end}
details.actbox>form.pv-capform{max-width:620px}
details.actbox>form.pv-capform .f{display:flex;flex-direction:column;gap:4px;flex:1 1 100%;min-width:0;margin:0;font-size:13px;color:var(--muted)}
details.actbox>form.pv-capform .f input{flex:none;height:auto;width:100%;box-sizing:border-box;padding:8px;border-radius:7px;border:1px solid var(--line2);background:#000;color:var(--text);font:inherit;font-size:14px}
details.actbox>form.pv-capform .f input:focus{outline:2px solid var(--green2);outline-offset:0;border-color:var(--green2)}
.pv-acts.bare{margin:10px 0 0}
/* Family Alerts (v=18): severity colors + icons (critical = red octagon, important = amber triangle, info = green circle),
   header bell, full-width critical banner, cards, post form */
:root{--al-crit:#e5484d;--al-crit-bg:#2a0b0c;--al-imp:#e0b84b;--al-imp-bg:#241c07;--al-info:#3fae58;--al-info-bg:#07170c}
.al-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;height:22px;font:800 13px/1 system-ui,sans-serif;color:#fff;vertical-align:middle}
.al-ic-critical{background:var(--al-crit);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}
.al-ic-important{background:var(--al-imp);color:#1a1300;clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:7px;font-size:12px}
.al-ic-info{background:var(--al-info);border-radius:50%;font-family:Georgia,serif;font-style:italic}
.al-sev{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.al-sev-critical{color:#ff8a8d}.al-sev-important{color:var(--al-imp)}.al-sev-info{color:var(--leaf)}
/* header bell */
.al-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line2);color:var(--muted);text-decoration:none}
.al-bell:hover{color:var(--text);border-color:var(--leaf)}.al-bell[aria-current=page]{background:var(--deep)}
.al-bell.al-critical{color:#fff;background:var(--al-crit);border-color:var(--al-crit)}
.al-bell.al-important{color:#1a1300;background:var(--al-imp);border-color:var(--al-imp)}
.al-bell.al-info{color:#fff;background:var(--al-info);border-color:var(--al-info)}
.al-n{position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#000;border:1px solid currentColor;color:var(--text);font:700 11px/16px system-ui,sans-serif;text-align:center}
.al-bell.al-critical .al-n{color:#ff8a8d}.al-bell.al-important .al-n{color:var(--al-imp)}.al-bell.al-info .al-n{color:var(--leaf)}
.al-bell:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
/* critical banner (full width, under the header, every page until acknowledged) */
.al-banners{display:flex;flex-direction:column}
.al-banner{display:flex;align-items:center;gap:14px;padding:12px 28px;background:var(--al-crit-bg);border-bottom:2px solid var(--al-crit);color:var(--text)}
.al-banner .al-ic{width:28px;height:28px;font-size:16px}
.al-b-main{flex:1;min-width:0}.al-b-k{color:#ff8a8d;text-transform:uppercase;font-size:13px;letter-spacing:.05em}.al-b-h{font-size:16px}
.al-b-d{margin-top:2px;font-size:14px;overflow-wrap:anywhere}.al-b-m{margin-top:2px;font-size:12.5px;color:var(--muted)}
.al-banner .btn.al-ackbtn{background:var(--al-crit);border-color:var(--al-crit);color:#fff;font-weight:600;white-space:nowrap}
.al-banner .btn.al-ackbtn:hover{filter:brightness(1.1)}
@media (max-width:640px){.al-banner{flex-wrap:wrap;padding:10px 14px}}
/* cards */
.al-card{border-left:5px solid var(--al-info);margin:0 0 12px}
.al-card.al-critical{border-left-color:var(--al-crit);background:linear-gradient(90deg,var(--al-crit-bg),var(--panel) 40%)}
.al-card.al-important{border-left-color:var(--al-imp);background:linear-gradient(90deg,var(--al-imp-bg),var(--panel) 40%)}
.al-card.al-info{background:linear-gradient(90deg,var(--al-info-bg),var(--panel) 40%)}
.al-card.al-past{opacity:.85;background:var(--panel)}
.al-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.al-h{margin:6px 0 4px;font-size:18px}.al-h a{color:var(--text);text-decoration:none}.al-h a:hover{color:var(--gold2)}
.al-d{line-height:1.55;overflow-wrap:anywhere}.al-meta{margin:6px 0 0}
.al-ackd{color:var(--muted)}
.al-seen{margin-left:auto}
details.al-read{margin:16px 0}details.al-read>summary{cursor:pointer;color:var(--muted);font-size:14px;margin:0 0 10px}
.tabs{display:flex;gap:4px}.tabs a{padding:6px 12px;border-radius:7px;text-decoration:none;color:var(--muted);font-size:14px;border:1px solid var(--line)}
.tabs a[aria-current=page]{color:var(--text);background:var(--deep);border-color:var(--line2)}
.al-acks .al-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.al-acks h4{margin:0 0 6px}
.al-who{margin:0;padding-left:18px}.al-who-no li{color:var(--alert)}
@media (max-width:640px){.al-acks .al-cols{grid-template-columns:1fr}}
/* post / edit form */
.alform fieldset{border:1px solid var(--line);border-radius:8px;margin:0 0 12px;padding:8px 12px}
.alform legend{font-size:13px;color:var(--muted);padding:0 4px}
.al-pick{display:flex;align-items:center;gap:6px;margin:4px 0;cursor:pointer}
.al-ttl .cb{display:flex;align-items:center;gap:6px;margin:4px 0}
.al-hours input[type=number]{width:90px;padding:6px;border-radius:7px;border:1px solid var(--line2);background:#000;color:var(--text);font:inherit}
/* tile + What's new */
.al-li{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.al-li .al-ic{width:18px;height:18px;font-size:11px}
.al-li .al-ic-important{padding-top:5px;font-size:10px}
.wn-alert li .al-ic{width:18px;height:18px;font-size:11px}.wn-alert li .al-ic-important{padding-top:5px;font-size:10px}
.dash-head .acts{display:flex;gap:6px;flex-wrap:wrap}
/* Move… / Select & move (inc/move.php) */
details.mvbox[open]{flex-basis:100%;width:100%}
details.mvbox .mv-form{margin-top:8px}
details.actbox.mvbox .mv-form{max-width:520px}
.mv-new[hidden]{display:none}
.mv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin:8px 0 12px}
.mv-cell{position:relative;display:flex;flex-direction:column;gap:4px;padding:6px;border:1px solid var(--line,#234);border-radius:8px;cursor:pointer}
.mv-cell input{position:absolute;top:10px;left:10px;width:20px;height:20px;margin:0;accent-color:var(--gold2,#3c3)}
.mv-cell:has(input:checked){outline:2px solid var(--gold2,#3c3);outline-offset:-1px}
.mv-img{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:#0a120a}
.mv-img img{width:100%;height:100%;object-fit:cover;display:block}
.mv-img .vd-noposter{display:flex;align-items:center;justify-content:center;height:100%}
.mv-cap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.evform label.f select,.mv-form select,.mv-form .f input{width:100%;box-sizing:border-box;padding:8px;border-radius:7px;border:1px solid var(--line2);background:#000;color:var(--text);font:inherit;font-size:14px}
.mv-form label.f{display:flex;flex-direction:column;gap:4px;margin:0 0 12px;font-size:13px;color:var(--muted)}
/* Members (home/members.php) */
.mb-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 18px}
.mb-list li{padding:6px 0;border-bottom:1px solid var(--line,#1c2a1c)}
.mb-role{margin-left:6px;font-size:10px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border:1px solid currentColor;border-radius:999px;padding:0 6px;vertical-align:middle;opacity:.8}

/* ---------- Messages (private, inc/messages.php) ---------- */
.pm-env{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--line2);color:var(--muted);text-decoration:none}
.pm-env:hover{color:var(--text);border-color:var(--leaf)}.pm-env[aria-current=page]{background:var(--deep)}
.pm-env.pm-new{color:#fff;background:var(--al-info);border-color:var(--al-info)}.pm-env.pm-new .pm-n{color:var(--leaf)}
.pm-env:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.pm-n[hidden]{display:none}
.pm-convs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pm-conv{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 14px;border:1px solid var(--line2);border-radius:10px;text-decoration:none;color:var(--text);background:var(--panel)}
.pm-conv:hover{border-color:var(--leaf);background:var(--deep)}
.pm-conv.pm-unread{border-color:var(--leaf)}.pm-conv.pm-unread .pm-who{font-weight:700}
.pm-prev{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-thread{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}
.pm-msg{max-width:78%;align-self:flex-start;padding:8px 12px;border:1px solid var(--line2);border-radius:12px 12px 12px 4px;background:var(--panel2)}
.pm-msg.pm-mine{align-self:flex-end;border-radius:12px 12px 4px 12px;border-color:var(--leaf);background:var(--deep)}
.pm-msg.pm-hidden{opacity:.7}
.pm-body{overflow-wrap:anywhere;margin-top:2px}
.pm-rep{display:inline-block;margin-top:4px;color:var(--muted)}
.pm-sys{align-self:center;color:var(--muted);font-size:.85em}
.pm-send textarea,.pm-new textarea{width:100%}
.pm-pick{border:0;padding:0;margin:0 0 10px;display:flex;flex-wrap:wrap;gap:6px 16px}
.pm-pick legend{margin-bottom:6px}
.pm-acts{margin-top:14px}
.pm-report{border-color:var(--al-imp)}
.mb-msg{margin-left:8px}
.live-ind[hidden]{display:none}
@media (max-width:600px){.pm-msg{max-width:92%}}
/* change thumbnail (video edit page) */
.vt-cols{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}.vt-cols figure{margin:0}.vt-cols img,.vt-cols canvas{max-width:220px;max-height:160px;display:block;border-radius:6px}
.vt-video{width:100%;max-height:360px;background:#000;border-radius:6px}.vt-range{width:100%;margin:6px 0}
/* Bot dashboard alert highlight (any bot with status "alert"; dash_alert_pill in bhx.dash.php) */
.tile.tile-alert,.rcard-alert{border:2px solid #d9480f;border-top:4px solid #c92a2a;box-shadow:0 0 0 3px rgba(217,72,15,.18)}
.w-row.w-alert{border-left:3px solid #d9480f;padding-left:8px;margin-left:-11px}
.alert-pill{display:block;margin:2px 0 4px;padding:6px 10px;border-radius:12px;background:#fff1e6;border:1px solid #d9480f;color:#7a2408;font-size:13px;line-height:1.4;font-weight:500}
.alert-pill b{display:inline-block;background:#c92a2a;color:#fff;border-radius:8px;padding:0 8px;margin-right:4px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}
.tile-alert .b-alert,.rcard-alert .b-alert{background:#c92a2a;color:#fff;border-color:#c92a2a}
