:root{color-scheme:light dark;--db-blue:#2563eb;--db-bg:#f3f6fa;--db-card:#fff;--db-text:#172334;--db-muted:#66778b;--db-line:#e2e8f0;--db-soft:#eff5ff}
html,body{background:var(--db-bg);color:var(--db-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.5}
a{color:var(--db-blue)}a:hover{text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}
.wrap{max-width:1380px;margin:0 auto;padding:0 24px;border:0;background:transparent;border-radius:0}#page-header{padding-top:16px}.headerbar{height:180px;border-radius:18px;background:#0a2854 url(images/header.jpg) center 55%/cover no-repeat;padding:20px 28px;margin-bottom:14px;position:relative}.headerbar .inner{height:100%}.site-description{width:auto;float:none}.site-description h1,.site-description>p:not(.skiplink){display:none}#logo{background:var(--db-card);padding:10px 18px;border-radius:14px;display:inline-flex;float:none}.db-logo{height:44px;width:auto;max-width:220px;object-fit:contain}.search-header{position:absolute;bottom:20px;right:25px;margin:0}.navbar{background:var(--db-card);border:1px solid var(--db-line);border-radius:12px;color:var(--db-text)}.navbar a{color:var(--db-text)}.db-main-nav{display:flex;gap:8px;padding:12px 0 4px}.db-main-nav a{padding:10px 22px;border-radius:24px;color:var(--db-text);font-weight:650}.db-main-nav a:hover{background:var(--db-soft);color:var(--db-blue)}#page-body{margin-top:18px}.db-social{display:grid;grid-template-columns:205px minmax(0,660px) minmax(220px,1fr);gap:24px;align-items:start}.db-sidebar{position:sticky;top:22px;padding:14px 0}.db-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.7px;color:var(--db-muted);margin:0 0 10px}.db-sidebar h2{font-size:26px;line-height:1.22;letter-spacing:-1px;border:0;margin:0 0 26px;color:var(--db-text)}.db-sidebar nav{display:grid;gap:5px}.db-sidebar nav a{color:var(--db-text);padding:12px 14px;border-radius:10px;font-size:15px;font-weight:650}.db-sidebar nav a:hover,.db-sidebar .db-side-home{background:var(--db-soft);color:var(--db-blue)}.db-sidebar-note{font-size:13px;color:var(--db-muted);padding:20px 12px}.db-feed{background:var(--db-card);border:1px solid var(--db-line);border-radius:16px;overflow:visible;min-width:0}.db-feed-heading{padding:22px 24px 16px;display:flex;justify-content:space-between;align-items:center}.db-feed-heading h2{font-size:25px;border:0;color:var(--db-text);margin:0;letter-spacing:-.7px}.db-feed-heading .db-eyebrow{margin-bottom:4px}.db-home-link{font-size:13px}.db-tabs{display:flex;border-bottom:1px solid var(--db-line)}.db-tabs a{flex:1;text-align:center;padding:14px 8px;font-weight:650;color:var(--db-muted);position:relative}.db-tabs .is-active{color:var(--db-blue)}.db-tabs .is-active:after{content:'';position:absolute;bottom:0;left:25%;right:25%;height:3px;background:var(--db-blue);border-radius:4px}.db-composer{padding:22px 24px;border-bottom:8px solid var(--db-bg)}.db-composer>label{font-size:13px;font-weight:650;color:var(--db-muted)}.db-composer textarea{box-sizing:border-box;display:block;resize:vertical;min-height:88px;width:100%;border:0!important;background:transparent!important;color:var(--db-text)!important;padding:12px 0;font-size:18px;outline:none}.db-compose-tools{display:flex;align-items:center;gap:12px}.db-primary{border:0;border-radius:24px;background:var(--db-blue);color:white;padding:9px 25px;cursor:pointer;font-weight:700}.db-photo-picker{color:var(--db-blue);cursor:pointer;font-size:13px;font-weight:650;position:relative;overflow:hidden}.db-photo-picker input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer}.db-char-count{margin-left:auto;color:var(--db-muted);font-size:11px}.db-file-name{font-size:12px;margin:6px 0 0;overflow-wrap:anywhere}.db-post{border-bottom:1px solid var(--db-line);padding:21px 24px;scroll-margin-top:20px}.db-post:last-of-type{border-bottom:0}.db-post-layout{display:flex;gap:13px;align-items:flex-start}.db-avatar{display:grid;place-items:center;background:var(--db-soft);color:var(--db-blue);font-size:22px;font-weight:700;width:42px;height:42px;flex:0 0 42px;border-radius:50%}.db-post-main{flex:1;min-width:0}.db-post-meta{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;position:relative;padding-right:28px}.db-author{color:var(--db-text);font-size:15px;font-weight:750}.db-time{color:var(--db-muted);font-size:11px}.db-post-text{font-size:16px;line-height:1.65;overflow-wrap:anywhere;margin:7px 0 13px}.db-post-photo{display:block;width:100%;max-height:520px;object-fit:contain;background:var(--db-bg);border:1px solid var(--db-line);border-radius:13px;box-sizing:border-box}.db-post-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.db-post-actions form{margin:0}.db-action{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent!important;box-shadow:none!important;padding:6px 0;color:var(--db-muted);font-size:12px;cursor:pointer;min-height:32px}.db-action svg,.db-reposted-by svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.db-like.is-active{color:#ff0000}.db-like.is-active svg{fill:currentColor;stroke-width:1.1}.db-repost.is-active{color:#059669}.db-action:disabled{opacity:.55;cursor:default}.db-action-label{font-size:10px}.db-reposted-by{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--db-muted);margin:0 0 9px 55px}.db-reposted-by svg{width:14px;height:14px}.db-post-menu{position:absolute;right:0;top:0}.db-post-menu summary{cursor:pointer;list-style:none;color:var(--db-muted);padding:0 5px}.db-post-menu summary::-webkit-details-marker{display:none}.db-post-menu>div{position:absolute;right:0;top:27px;min-width:195px;background:var(--db-card);border:1px solid var(--db-line);border-radius:12px;box-shadow:0 10px 35px #0002;padding:6px;z-index:10}.db-post-menu form{margin:0}.db-post-menu button{display:block;text-align:left;width:100%;padding:11px;border:0;background:transparent;color:var(--db-text);cursor:pointer;font-size:13px;border-radius:6px}.db-post-menu button:hover{background:var(--db-soft)}.db-post-menu .db-delete{color:#dc2626}.db-empty{padding:38px 25px;text-align:center;color:var(--db-muted);font-size:15px}.db-empty h3{color:var(--db-text);font-size:22px;border:0}.db-join{padding:22px 24px;border-bottom:1px solid var(--db-line);font-size:15px}.db-join p{font-size:14px;margin-bottom:0}.db-load-more{display:block;padding:18px;text-align:center}.db-town-card{border:1px solid var(--db-line);border-radius:15px;overflow:hidden;background:var(--db-card)}.db-town-photo{height:118px;background:url(images/header.jpg) 70% center/cover}.db-town-card>div+div{padding:20px}.db-town-card h3,.db-guidelines h3{font-size:19px;border:0;color:var(--db-text);margin:0 0 10px}.db-town-card p,.db-guidelines p{font-size:13px;color:var(--db-muted)}.db-town-card a{font-size:13px;font-weight:650}.db-guidelines{padding:24px 14px}.db-member-row,.db-report{padding:22px;border-bottom:1px solid var(--db-line);font-size:15px}.db-member-row{display:flex;justify-content:space-between}.db-error,.db-success{margin:12px;padding:14px;border-radius:8px;font-size:14px}.db-error{background:#fee2e2;color:#991b1b}.db-success{background:#dcfce7;color:#166534}.db-symbols{position:absolute;width:0;height:0;overflow:hidden}.forabg,.forumbg{background:var(--db-blue);border-radius:12px;padding:8px}.bg1,.bg2,.bg3,.panel,.post{background:var(--db-card);color:var(--db-text)}.post{border:1px solid var(--db-line);border-radius:12px;padding:20px;margin-bottom:15px}.content{font-size:16px;line-height:1.65;color:var(--db-text)}.postbody .content{font-family:inherit}.inputbox,input.inputbox,textarea.inputbox{background:var(--db-card);color:var(--db-text);border-color:var(--db-line);font-size:16px}.postprofile,.postprofile a,.postbody h3 a,ul.topiclist li,.panel h2,.panel h3{color:var(--db-text)}.copyright{color:var(--db-muted);padding:22px 0}.stat-block h3{color:var(--db-text)}.button{border-color:var(--db-line);background:var(--db-card);color:var(--db-text);box-shadow:none}
@media(prefers-color-scheme:dark){:root{--db-bg:#0d1420;--db-card:#141f2e;--db-text:#e5edf8;--db-muted:#96a8bf;--db-line:#273549;--db-soft:#1b3152;--db-blue:#3b82f6}a.topictitle,li.row strong,a.forumtitle,dl.details dd{color:var(--db-text)}li.row:hover{background:var(--db-soft)}.dropdown .dropdown-contents,.dropdown-extended ul li,.dropdown-extended .header{background:var(--db-card);color:var(--db-text);border-color:var(--db-line)}blockquote,code,.codebox,.attachbox{background:var(--db-bg);border-color:var(--db-line);color:var(--db-text)}.db-error{background:#441c25;color:#fecaca}.db-success{background:#143d2c;color:#bbf7d0}}
@media(min-width:1000px){body:has(.db-social) #page-footer .navbar{display:none}}
@media(max-width:1150px){.db-social{grid-template-columns:175px minmax(0,1fr)}.db-right{display:none}.db-sidebar h2{font-size:23px}}

.db-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}

.db-profile-controls{display:flex;gap:12px;padding:16px}

/* CaliMo social shell */
html, body { font-family:system-ui,sans-serif; }
body { padding-bottom:0; }
.wrap { max-width:860px; }
.social-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--db-line); }
.social-brand { width:126px; vertical-align:middle; }
.social-bar nav { display:flex; align-items:center; gap:20px; }
.social-bar nav a, .social-bar summary { color:var(--db-text); font:600 14px system-ui; cursor:pointer; }
.social-bar details { position:relative; }
.social-bar details div { position:absolute; z-index:12; right:0; min-width:155px; background:var(--db-card); border:1px solid var(--db-line); border-radius:12px; padding:8px; }
.social-bar details div a { display:block; padding:8px; }
.activity-count:not(:empty) { background:#145beb; color:white; border-radius:1em; padding:1px 6px; }
.db-social { display:block; max-width:690px; margin:auto; }
.db-feed-heading h1, .social-title, .social-profile h1 { font:750 25px system-ui; letter-spacing:-.6px; color:var(--db-text); margin:0; }
.db-feed-heading { padding:18px 22px; }
.db-feed { overflow:hidden; }
.db-tabs .is-active { color:var(--db-blue); }
.db-composer { border-bottom:1px solid var(--db-line); }
.activity-row { display:flex; gap:12px; padding:20px; color:var(--db-text); border-top:1px solid var(--db-line); }
.activity-dot { min-width:14px; color:var(--db-blue); }
.activity-row small { display:block; color:var(--db-muted); }
.social-profile { background:var(--db-card); border-radius:16px; overflow:hidden; }
.social-cover { height:130px; background:url(images/header.jpg) center/cover; }
.social-profile-info { padding:20px; }
.social-legal { text-align:center; padding:20px; font-size:12px; }
.social-title { margin:18px 0; }


.social-inbox {background:var(--db-card);border-radius:16px;overflow:hidden}
.social-inbox header,.social-letter {padding:16px 20px;border-bottom:1px solid var(--db-line)}
.social-inbox header,.social-letter div,.social-folders {display:flex;align-items:center;justify-content:space-between;gap:12px}
.social-inbox h2 {margin:0;border:0;color:var(--db-text)}
.social-letter>a {display:block;padding:6px 0;font-weight:600;color:var(--db-text)}
.social-letter small {color:var(--db-muted)}
.social-folders {justify-content:flex-start;flex-wrap:wrap;padding:10px}
.social-folders a {font-size:14px;padding:6px}
#cp-main.ucp-main {float:none;width:auto}

.source-card {display:block;border:1px solid var(--db-line);border-radius:14px;padding:14px;margin:8px 0;color:var(--db-text);overflow-wrap:anywhere}
.source-card img {display:block;max-width:100%;max-height:280px;border-radius:8px;margin-top:8px}
.source-card small,.share-label {color:var(--db-muted);font-size:12px}
.share-menu {position:relative}
.share-menu summary {cursor:pointer;list-style:none}
.share-menu form {position:absolute;z-index:9;bottom:100%;left:50%;transform:translateX(-50%);background:var(--db-card);border:1px solid var(--db-line);border-radius:12px;padding:12px;width:min(220px,58vw);box-shadow:0 5px 18px #0002}
.share-menu label,.share-menu textarea {display:block;font-size:14px}
.share-menu textarea {box-sizing:border-box;width:100%;margin:4px 0 10px;color:var(--db-text);background:var(--db-bg);border:1px solid var(--db-line)}
.share-menu button {border:0;border-radius:20px;padding:8px 15px;background:var(--db-blue);color:white;cursor:pointer}

/* ==========================================================================
   CaliMo phone-first type, spacing and control system
   All sizes are in rem so browser text size and zoom scale the whole UI.
   ========================================================================== */
:root {
	--db-fs-post:1.0625rem;   /* 17px primary post text */
	--db-fs-ui:1rem;          /* 16px controls, inputs, names */
	--db-fs-meta:.9375rem;    /* 15px timestamps, counts, labels */
	--db-fs-small:.875rem;    /* 14px smallest text anywhere */
	--db-lh:1.5;
	--db-tap:2.75rem;         /* 44px minimum tap target */
	--db-gutter:1rem;
	--db-radius:1rem;
	--db-nav-h:4.25rem;
	--db-safe-b:env(safe-area-inset-bottom, 0px);
}
html { font-size:100%; }
body { font-size:var(--db-fs-ui); line-height:var(--db-lh); overflow-wrap:break-word; }
img, video { max-width:100%; height:auto; }
.db-sr, .db-sr-mobile { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ---- Header & navigation ---------------------------------------------- */
.social-bar { gap:.75rem; padding:.75rem 0; flex-wrap:nowrap; }
.social-brand { width:7.5rem; max-width:40vw; height:auto; }
.social-bar > a { display:inline-flex; align-items:center; min-height:var(--db-tap); }
.social-nav { display:flex; align-items:center; gap:.25rem; }
.social-nav > a, .social-nav summary {
	display:inline-flex; align-items:center; gap:.5rem; min-height:var(--db-tap); padding:0 .875rem;
	border-radius:999px; color:var(--db-text); font:600 var(--db-fs-ui)/1.2 system-ui,-apple-system,'Segoe UI',sans-serif; text-decoration:none; cursor:pointer;
}
.social-nav > a:hover, .social-nav summary:hover { background:var(--db-soft); color:var(--db-blue); }
.social-nav summary { list-style:none; max-width:12rem; }
.social-nav summary::-webkit-details-marker { display:none; }
.social-nav summary span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.nav-icon { width:1.375rem; height:1.375rem; flex:none; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.activity-count:not(:empty) { display:inline-block; min-width:1.25rem; box-sizing:border-box; padding:.0625rem .375rem; border-radius:1em; background:var(--db-blue); color:#fff; font:700 var(--db-fs-small)/1.3 system-ui,sans-serif; text-align:center; }
.social-account { position:relative; }
.social-bar .social-account > div {
	position:absolute; z-index:60; right:0; top:calc(100% + .375rem); min-width:14rem; max-width:calc(100vw - 1rem); box-sizing:border-box;
	background:var(--db-card); border:1px solid var(--db-line); border-radius:var(--db-radius); padding:.5rem; box-shadow:0 .75rem 2.25rem #0003;
}
.social-bar .social-account > div a { display:flex; align-items:center; min-height:var(--db-tap); padding:0 .875rem; border-radius:.625rem; color:var(--db-text); font-size:var(--db-fs-ui); font-weight:600; }
.social-bar .social-account > div a:hover { background:var(--db-soft); color:var(--db-blue); }
.social-account-name { margin:0; padding:.5rem .875rem .625rem; border-bottom:1px solid var(--db-line); margin-bottom:.375rem; font-weight:750; font-size:var(--db-fs-ui); color:var(--db-text); overflow-wrap:anywhere; }

/* ---- Feed shell -------------------------------------------------------- */
.db-feed-heading { padding:1rem var(--db-gutter); }
.db-feed-heading h1 { font-size:1.5rem; line-height:1.2; }
.db-tabs { position:sticky; top:0; z-index:6; background:var(--db-card); }
.db-tabs a { display:flex; align-items:center; justify-content:center; min-height:3.25rem; padding:0 .5rem; font-size:var(--db-fs-ui); font-weight:700; text-decoration:none; }
.db-tabs a:hover { background:var(--db-soft); }
.db-tabs .is-active { color:var(--db-text); }
.db-tabs .is-active:after { left:calc(50% - 1.75rem); right:calc(50% - 1.75rem); height:.25rem; }

/* ---- Composer ---------------------------------------------------------- */
.db-composer { padding:1rem var(--db-gutter) .75rem; scroll-margin-top:.5rem; }
.db-composer > label { display:block; font-size:var(--db-fs-meta); font-weight:650; color:var(--db-muted); }
.db-composer textarea { font-size:1.125rem; line-height:1.45; min-height:6rem; max-height:50vh; padding:.625rem 0; resize:none; }
.db-composer textarea::placeholder { color:var(--db-muted); opacity:1; }
.db-compose-tools { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem .75rem; padding-top:.625rem; border-top:1px solid var(--db-line); }
.db-photo-picker { display:inline-flex; align-items:center; gap:.5rem; min-height:var(--db-tap); padding:0 .875rem 0 .625rem; margin-left:-.625rem; border-radius:999px; font-size:var(--db-fs-ui); font-weight:650; }
.db-photo-picker:hover, .db-photo-picker:focus-within { background:var(--db-soft); }
.db-photo-picker:focus-within { outline:3px solid #60a5fa; outline-offset:2px; }
.db-photo-picker svg { width:1.375rem; height:1.375rem; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
.db-char-count { font-size:var(--db-fs-small); color:var(--db-muted); font-variant-numeric:tabular-nums; }
.db-primary { min-height:var(--db-tap); min-width:5.5rem; padding:0 1.375rem; font-size:var(--db-fs-ui); line-height:1.2; }
.db-primary:hover { filter:brightness(1.08); }
.db-primary:disabled { opacity:.6; }
.db-file-name { font-size:var(--db-fs-small); color:var(--db-muted); margin:.375rem 0 0; }
.db-file-name:empty { display:none; }

/* ---- Posts ------------------------------------------------------------- */
.db-post { padding:.875rem var(--db-gutter) .25rem; }
.db-post-layout { gap:.75rem; }
.db-avatar { width:2.75rem; height:2.75rem; flex:0 0 2.75rem; font-size:1.25rem; text-decoration:none; }
.db-post-meta { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:.5rem; row-gap:0; padding-right:2.75rem; min-height:1.5rem; }
.db-author { font-size:var(--db-fs-ui); font-weight:750; line-height:1.35; overflow-wrap:anywhere; min-width:0; }
.db-time { font-size:var(--db-fs-meta); color:var(--db-muted); line-height:1.35; text-decoration:none; }
.db-time:hover, .db-author:hover { text-decoration:underline; }
.db-post-text { font-size:var(--db-fs-post); line-height:var(--db-lh); margin:.25rem 0 .75rem; color:var(--db-text); }
.db-post-text a { overflow-wrap:anywhere; }
.db-post-photo { border-radius:var(--db-radius); max-height:70vh; margin:.25rem 0 .25rem; }
.db-reposted-by { font-size:var(--db-fs-small); font-weight:650; margin:0 0 .375rem 3.5rem; }
.db-reposted-by svg { width:1rem; height:1rem; }
.share-label { display:inline-block; font-size:var(--db-fs-small); margin-top:.125rem; }
.source-card { border-radius:var(--db-radius); padding:.75rem .875rem; margin:.5rem 0 .25rem; text-decoration:none; font-size:var(--db-fs-ui); line-height:var(--db-lh); }
.source-card:hover { background:var(--db-soft); }
.source-card strong { display:block; font-size:var(--db-fs-ui); margin-bottom:.125rem; overflow-wrap:anywhere; }
.source-card img { width:100%; max-height:22rem; object-fit:cover; border-radius:.75rem; }
.source-card small, .source-card .source-link { display:block; font-size:var(--db-fs-small); color:var(--db-blue); margin-top:.5rem; font-weight:600; }

/* Post menu (•••) */
.db-post-menu { top:-.625rem; right:-.75rem; }
.db-post-menu summary { display:grid; place-items:center; width:var(--db-tap); height:var(--db-tap); padding:0; border-radius:50%; font-size:1rem; letter-spacing:.05em; }
.db-post-menu summary:hover, .db-post-menu[open] summary { background:var(--db-soft); color:var(--db-blue); }
.db-post-menu > div { top:calc(var(--db-tap) + .25rem); min-width:15rem; max-width:calc(100vw - 2rem); border-radius:var(--db-radius); padding:.375rem; }
.db-post-menu button { display:flex; align-items:center; min-height:var(--db-tap); padding:0 .875rem; font-size:var(--db-fs-ui); font-weight:600; border-radius:.625rem; overflow-wrap:anywhere; text-align:left; }

/* Reply / repost / like */
.db-post-actions { display:flex; align-items:center; justify-content:space-between; gap:.25rem; max-width:26rem; margin:.25rem 0 0 -.625rem; }
.db-post-actions > form, .db-post-actions > details, .db-post-actions > a, .db-post-actions > span { flex:0 1 auto; }
.db-action { min-height:var(--db-tap); min-width:var(--db-tap); padding:0 .625rem; gap:.375rem; border-radius:999px; font-size:var(--db-fs-meta); font-variant-numeric:tabular-nums; line-height:1; text-decoration:none; justify-content:flex-start; }
.db-action svg { width:1.3125rem; height:1.3125rem; flex:none; }
.db-action-label { font-size:var(--db-fs-meta); }
a.db-action:hover, button.db-action:hover, summary.db-action:hover { color:var(--db-blue); background:var(--db-soft) !important; }
.db-like:hover { color:#e11d48 !important; }
.db-like.is-active { color:#e11d48; }
.db-repost.is-active { color:#059669; }
.share-menu summary { display:inline-flex; }
.share-menu summary::-webkit-details-marker { display:none; }
.share-menu form { width:min(18rem, calc(100vw - 2rem)); padding:.875rem; border-radius:var(--db-radius); box-sizing:border-box; }
.share-menu label { font-size:var(--db-fs-meta); font-weight:650; color:var(--db-text); }
.share-menu textarea { font-size:var(--db-fs-ui); line-height:1.45; min-height:5rem; padding:.625rem .75rem; border-radius:.75rem; resize:vertical; }
.share-menu button { display:block; width:100%; min-height:var(--db-tap); font-size:var(--db-fs-ui); font-weight:700; }

/* ---- Lists, states, messages ------------------------------------------ */
.activity-row { align-items:flex-start; gap:.75rem; padding:.875rem var(--db-gutter); min-height:var(--db-tap); font-size:var(--db-fs-ui); line-height:1.45; text-decoration:none; overflow-wrap:anywhere; }
.activity-row:hover { background:var(--db-soft); }
.activity-row small { font-size:var(--db-fs-small); margin-top:.125rem; }
.activity-dot { min-width:.75rem; font-size:.75rem; line-height:1.9; }
.db-member-row { align-items:center; gap:.75rem; padding:.75rem var(--db-gutter); font-size:var(--db-fs-ui); overflow-wrap:anywhere; }
.db-member-row form { margin:0; flex:none; }
.db-member-row button { min-height:var(--db-tap); padding:0 1.125rem; border:1px solid var(--db-line); border-radius:999px; background:var(--db-card); color:var(--db-text); font-size:var(--db-fs-ui); font-weight:650; cursor:pointer; }
.db-report { padding:1rem var(--db-gutter); font-size:var(--db-fs-ui); overflow-wrap:anywhere; }
.db-report a { display:inline-flex; align-items:center; min-height:var(--db-tap); font-weight:650; }
.db-empty { padding:2.5rem 1.5rem; font-size:var(--db-fs-ui); line-height:var(--db-lh); }
.db-empty h3 { font-size:1.25rem; margin:0 0 .5rem; text-transform:none; font-family:inherit; }
.db-join { padding:1rem var(--db-gutter); font-size:var(--db-fs-ui); line-height:var(--db-lh); }
.db-join p { font-size:var(--db-fs-ui); margin:.25rem 0 0; }
.db-join a { font-weight:700; }
.db-load-more { display:flex; align-items:center; justify-content:center; min-height:3rem; font-size:var(--db-fs-ui); font-weight:700; border-top:1px solid var(--db-line); text-decoration:none; }
.db-error, .db-success { margin:.75rem var(--db-gutter); padding:.875rem 1rem; border-radius:.75rem; font-size:var(--db-fs-ui); line-height:1.45; }
#db-status:empty { display:none; }
.social-title { font-size:1.5rem; line-height:1.2; }
.social-legal { font-size:var(--db-fs-small); padding:1.25rem 1rem; }
.social-legal a { display:inline-flex; align-items:center; min-height:var(--db-tap); padding:0 .5rem; }
.social-inbox header, .social-letter { padding:.875rem var(--db-gutter); }
.social-letter { font-size:var(--db-fs-ui); overflow-wrap:anywhere; }
.social-letter > a { font-size:var(--db-fs-ui); padding:.5rem 0; }
.social-letter small { font-size:var(--db-fs-small); }
.social-folders { gap:.5rem; padding:.75rem var(--db-gutter); }
.social-folders a { display:inline-flex; align-items:center; min-height:2.5rem; padding:0 1rem; border:1px solid var(--db-line); border-radius:999px; font-size:var(--db-fs-meta); font-weight:650; color:var(--db-text); text-decoration:none; }
.social-folders a:hover { background:var(--db-soft); color:var(--db-blue); }

/* ---- phpBB account pages (login, register, terms, settings, messages) -- */
.panel, .post, .forabg, .forumbg { box-sizing:border-box; max-width:100%; }
.panel { padding:1rem var(--db-gutter); border-radius:var(--db-radius); }
.panel h2, .panel h3, .content h2 { font-family:inherit; font-size:1.25rem; line-height:1.3; text-transform:none; }
.panel p, .panel li, .panel label, .panel dd, .panel dt, .agreement, .content, fieldset { font-size:var(--db-fs-ui); line-height:var(--db-lh); }
.agreement { color:var(--db-text); }
fieldset dt span, .explain, dd .explain, label .explain { font-size:var(--db-fs-small); color:var(--db-muted); }
input.inputbox, textarea.inputbox, select, .inputbox { font-size:var(--db-fs-ui) !important; min-height:var(--db-tap); padding:.5rem .75rem; border-radius:.625rem; box-sizing:border-box; max-width:100%; }
textarea.inputbox { line-height:1.45; }
input[type=checkbox], input[type=radio] { width:1.25rem; height:1.25rem; vertical-align:middle; accent-color:var(--db-blue); }
.button1, .button2, input.button1, input.button2, a.button1, a.button2, .button {
	display:inline-flex; align-items:center; justify-content:center; min-height:var(--db-tap); padding:0 1.25rem !important;
	font-size:var(--db-fs-ui) !important; font-weight:650; border-radius:999px; box-sizing:border-box; line-height:1.2; cursor:pointer;
}
input.button1, a.button1 { background:var(--db-blue); border-color:var(--db-blue); color:#fff; }
p.error, .error, .successbox, .errorbox, .rules { font-size:var(--db-fs-ui); line-height:1.45; }
.panel a { overflow-wrap:anywhere; }

/* ---- Phones ------------------------------------------------------------ */
@media (max-width:700px) {
	.wrap { padding:0; }
	#page-body { margin:0; }
	.social-bar { position:relative; padding:.375rem var(--db-gutter); background:var(--db-card); border-bottom:1px solid var(--db-line); }
	.social-brand { width:6.5rem; }

	/* Bottom tab bar: icon + text label, safe-area aware */
	.social-nav {
		position:fixed; z-index:50; left:0; right:0; bottom:0; gap:0; justify-content:space-around; align-items:stretch;
		padding:.25rem .25rem calc(.25rem + var(--db-safe-b)); background:var(--db-card); border-top:1px solid var(--db-line);
		box-shadow:0 -.25rem 1rem #0000000d;
	}
	.social-nav > a, .social-nav > details { flex:1 1 0; min-width:0; }
	.social-nav > a, .social-nav summary {
		position:relative; flex-direction:column; justify-content:center; gap:.125rem; min-height:3.5rem; padding:.25rem .125rem;
		border-radius:.75rem; font-size:var(--db-fs-small); font-weight:650; text-align:center; max-width:none;
	}
	.social-nav > a > span, .social-nav summary > span { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
	.social-nav .nav-icon { width:1.5rem; height:1.5rem; }
	.social-nav .activity-count:not(:empty) { position:absolute; top:.125rem; left:calc(50% + .25rem); font-size:var(--db-fs-small); line-height:1.25; padding:0 .3125rem; border:2px solid var(--db-card); }
	body { padding-bottom:calc(var(--db-nav-h) + var(--db-safe-b) + .5rem); }

	/* Menus become bottom sheets that always fit the screen */
	.social-bar .social-account > div, .db-post-menu > div, .share-menu form {
		position:fixed; z-index:70; left:.5rem; right:.5rem; top:auto; bottom:calc(.5rem + var(--db-safe-b)); transform:none;
		width:auto; min-width:0; max-width:none; max-height:calc(100vh - 6rem); overflow:auto; padding:.5rem;
		border-radius:1.25rem; box-shadow:0 -.5rem 2.5rem #0004;
	}
	.share-menu form { padding:1rem; }
	.social-account[open] > summary::before, .db-post-menu[open] > summary::before, .share-menu[open] > summary::before {
		content:''; position:fixed; z-index:65; inset:0; background:#0f172a73; cursor:default;
	}
	.social-bar .social-account > div a, .db-post-menu button { min-height:3rem; font-size:1.0625rem; }

	/* Keep the tab bar out of the way while typing */
	body:has(textarea:focus, input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, input[type=search]:focus) .social-nav { display:none; }
	body:has(textarea:focus, input[type=text]:focus, input[type=email]:focus, input[type=password]:focus, input[type=search]:focus) { padding-bottom:var(--db-safe-b); }

	.db-social { max-width:none; }
	.db-feed { border:0; border-radius:0; }
	.db-feed-heading { padding:.75rem var(--db-gutter) .5rem; }
	.db-feed-heading h1 { font-size:1.375rem; }
	.db-composer { border-bottom:.5rem solid var(--db-bg); }
	.db-compose-tools .db-primary { margin-left:auto; }
	.db-char-count { order:0; }
	.db-post-actions { max-width:none; }
	.db-post-actions .db-action-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
	.db-post-photo { max-height:60vh; }

	.social-title { margin:1rem 0 .5rem; padding:0 var(--db-gutter); font-size:1.375rem; }
	.social-profile, .social-inbox { border-radius:0; }
	.panel, .post { border-radius:0; margin-left:0; margin-right:0; border-left:0; border-right:0; }
	fieldset dl { padding:.25rem 0; }
	fieldset dt, fieldset dd { width:auto !important; float:none !important; margin-left:0 !important; text-align:left; }
	fieldset dd input.inputbox, fieldset dd select, fieldset dd textarea, .inputbox.autowidth { width:100% !important; }
	fieldset.submit-buttons, .submit-buttons { display:flex; flex-wrap:wrap; gap:.75rem; }
	fieldset.submit-buttons > input, .submit-buttons > input { flex:1 1 10rem; }
	.copyright { font-size:var(--db-fs-small); padding:1rem; }
}
@media (max-width:370px) {
	:root { --db-gutter:.75rem; }
	.db-post-layout { gap:.625rem; }
	.db-avatar { width:2.5rem; height:2.5rem; flex-basis:2.5rem; }
	.db-reposted-by { margin-left:3.125rem; }
}
@media (min-width:701px) {
	.db-composer textarea { resize:vertical; }
}
.db-post-actions { flex-wrap:wrap; }
.db-author, .db-time { padding-block:.375rem; margin-block:-.375rem; }
.activity-dot { font-size:var(--db-fs-small); }
.activity-count:empty { display:none; }
@media (max-width:700px) {
.wrap { min-width:0; }
.social-nav > a, .social-nav summary { box-sizing:border-box; }
.social-nav > details { display:flex; }
.social-nav summary { display:flex; width:100%; }
}
