/* DrillBrain v9. Load last: this file owns app navigation and page layout. */
body.db9App {
  --db9-ink:#172d3a; --db9-muted:#526773; --db9-teal:#087c6e; --db9-line:#dfe7e8;
  --db9-paper:#f5f7f8; --db9-soft:#e8f4ef; --db9-shadow:0 5px 20px rgba(22,45,58,.045);
  --text:var(--db9-ink); --muted:var(--db9-muted); --cyan:var(--db9-teal); --bg:var(--db9-paper);
  margin:0; padding:0 0 40px; min-height:100vh; height:auto; overflow-x:hidden; overflow-y:auto;
  background:var(--db9-paper); color:var(--db9-ink); font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:15px; line-height:1.5; -webkit-font-smoothing:antialiased;
}
body.db9App * { box-sizing:border-box; }
body.db9App button, body.db9App input, body.db9App select, body.db9App textarea { font:inherit; }
body.db9App button { cursor:pointer; -webkit-tap-highlight-color:transparent; }
body.db9App button:disabled { cursor:default; opacity:.55; }
body.db9App [hidden] { display:none!important; }
body.db9App :is(button,a,input,textarea,select,summary):focus-visible { outline:3px solid #1b857c!important; outline-offset:3px; }
body.db9App :is(h1,h2,h3,p) { overflow-wrap:break-word; }
body.db9App .db9Icon { display:inline-block; width:22px; height:22px; flex:0 0 22px; vertical-align:middle; }
body.db9App .db9Muted { color:var(--db9-muted); font-size:13px; line-height:1.6; }
body.db9App .db9Eyebrow { display:block; font-size:10px; font-weight:750; letter-spacing:.095em; color:#527368; line-height:1.5; }
body.db9App .db9Button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 16px; border:1px solid #d3dee0; border-radius:12px; background:#fff; color:var(--db9-ink); box-shadow:none; font-size:14px; font-weight:650; line-height:1.35; text-decoration:none; white-space:normal; }
body.db9App .db9Button .db9Icon { width:19px; height:19px; flex-basis:19px; }
body.db9App .db9Button:hover { border-color:#85b4a9; background:#f7fbf9; }
body.db9App .db9Primary { color:#fff; background:var(--db9-teal); border-color:var(--db9-teal); box-shadow:0 3px 8px #087c6e12; }
body.db9App .db9Primary:hover { background:#066b5f; border-color:#066b5f; }
body.db9App .db9TextButton { min-width:0; padding-left:4px; padding-right:4px; color:#087366; background:transparent; border-color:transparent; box-shadow:none; }
body.db9App .db9IconButton { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; min-height:44px; padding:10px; border:0; border-radius:12px; background:transparent; color:var(--db9-muted); }
body.db9App .db9IconButton:hover { background:#eef3f4; }
body.db9App .db9Danger { color:#a23d36; background:#fff6f4; border-color:#ecc5c0; }

/* One header and one stable navigation bar on every screen. */
body.db9App > header:not(#db9Header), body.db9App #dbQuickBar, body.db9App #dbBottomNav,
body.db9App #dbSectionPicker, body.db9App #tabs, body.db9App #dbHelpBtn,
body.db9App .dbTaskHeader, body.db9App .dbBoreTopActions { display:none!important; }
body.db9App #db9Header { position:sticky; top:0; z-index:110; display:flex; align-items:center; gap:24px; width:100%; height:84px; min-height:84px; margin:0; padding:12px max(28px,calc((100vw - 1152px)/2)); border:0; border-bottom:1px solid #e4eaeb; background:rgba(255,255,255,.94); backdrop-filter:blur(22px); }
body.db9App .db9Brand { display:flex; align-items:center; gap:10px; min-width:200px; padding:0; border:0; background:transparent; color:#15352e; text-align:left; box-shadow:none; }
body.db9App .db9Brand img { display:block; width:38px; height:38px; object-fit:contain; }
body.db9App .db9Brand > span { display:block; font-size:22px; font-weight:760; letter-spacing:-.045em; line-height:1.2; }
body.db9App .db9Brand small { display:block; margin-top:4px; font-size:10px; font-weight:500; letter-spacing:.005em; color:var(--db9-muted); }
body.db9App #db9Nav { position:static; z-index:auto; display:flex; flex:1; justify-content:center; align-items:center; gap:5px; overflow:visible; padding:0; margin:0; border:0; background:transparent; backdrop-filter:none; box-shadow:none; }
body.db9App #db9Nav button { position:relative; display:flex; align-items:center; gap:7px; padding:11px 13px; min-height:44px; border:0; border-radius:12px; background:transparent; color:#65747c; font-size:13px; font-weight:600; box-shadow:none; }
body.db9App #db9Nav .db9Icon { width:19px; height:19px; flex-basis:19px; }
body.db9App #db9Nav button.active { background:#e8f4ef; color:#087567; }
body.db9App #db9Nav button:hover { background:#eff5f3; }
body.db9App #db9Account { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #dce8e2; border-radius:50%; background:#fff; box-shadow:none; }
body.db9App .db9Avatar { display:inline-flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; height:36px; border-radius:50%; background:#deeee7; color:#235e4d; object-fit:cover; font-size:12px; font-weight:750; overflow:hidden; }
body.db9App .db9Avatar.large { width:54px; height:54px; flex-basis:54px; font-size:19px; }
body.db9App .db9Avatar.xlarge { width:84px; height:84px; flex-basis:84px; font-size:27px; }
body.db9App #db9Content { width:100%; max-width:1176px; margin:0 auto; padding:30px 28px 0; }
body.db9App .db9Screen { margin:0; padding:0; min-width:0; }
body.db9App .db9PageHead { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 0 24px; padding:0; }
body.db9App .db9PageHead > div { min-width:0; }
body.db9App .db9PageHead h1 { margin:5px 0 7px; color:var(--db9-ink); font-size:33px; font-weight:730; letter-spacing:-.045em; line-height:1.16; }
body.db9App .db9PageHead p { margin:0; color:var(--db9-muted); font-size:14px; line-height:1.5; }
body.db9App .db9PageHead > .db9Button { flex:0 0 auto; }
body.db9App .db9SectionHead { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:0 0 18px; }
body.db9App .db9SectionHead h2 { margin:0; color:var(--db9-ink); font-size:18px; font-weight:720; letter-spacing:-.025em; }
body.db9App .db9SectionHead p { margin:5px 0 0; color:var(--db9-muted); font-size:13px; line-height:1.5; }

/* Home stays short, with saved work ahead of feature discovery. */
body.db9App .db9HomeHead { margin-bottom:26px; }
body.db9App .db9Connection { display:inline-flex; flex:0 0 auto; gap:7px; align-items:center; padding:7px 10px; border:1px solid #e1e9e6; border-radius:30px; background:#fff; color:#547166; font-size:11px; }
body.db9App .db9Connection i { width:6px; height:6px; border-radius:50%; background:#419675; }
body.db9App .db9Connection i.offline { background:#b98838; }
body.db9App .db9Hero { position:relative; display:grid; grid-template-columns:1.25fr 1fr; min-height:286px; padding:32px 36px; overflow:hidden; border:1px solid #d4e4dc; border-radius:23px; background:#e9f2eb; }
body.db9App .db9Hero > div:first-child { position:relative; z-index:2; }
body.db9App .db9HeroLabel { display:block; margin-bottom:10px; color:#54766a; font-size:9px; letter-spacing:.12em; font-weight:750; }
body.db9App .db9Hero h2 { margin:0 0 12px; color:#173b2e; font-size:33px; letter-spacing:-.05em; line-height:1.18; font-weight:730; }
body.db9App .db9Hero p { max-width:375px; margin:0 0 23px; color:#4f6e60; font-size:13px; line-height:1.6; }
body.db9App .db9HeroActions { display:flex; flex-wrap:wrap; gap:10px; }
body.db9App .db9HeroSecondary { background:#f6faf6; border-color:#c8dace; color:#245746; }
body.db9App .db9StrataArt { position:absolute; right:0; bottom:0; width:42%; height:100%; overflow:hidden; opacity:.92; }
body.db9App .db9StrataArt > div:not(.db9BoreLine) { position:absolute; width:136%; height:140px; right:-65px; transform:rotate(-9deg); border-radius:48% 42% 0 0; }
body.db9App .db9StrataA { bottom:68px; background:#d1e2cf; }
body.db9App .db9StrataB { bottom:21px; background:#b9d0b6; }
body.db9App .db9StrataC { bottom:-26px; background:#94b8a0; }
body.db9App .db9StrataD { bottom:-85px; background:#5c927b; }
body.db9App .db9BoreLine { position:absolute; top:86px; right:45%; width:7px; height:178px; background:#f8fbf5; border:1px solid #85a48b; border-radius:0 0 7px 7px; box-shadow:0 0 0 5px #3f785d14; }
body.db9App .db9BoreLine i { position:absolute; left:0; right:0; border-top:2px solid #65927a; }
body.db9App .db9BoreLine i:nth-child(1) { top:40px; }body.db9App .db9BoreLine i:nth-child(2) { top:84px; }body.db9App .db9BoreLine i:nth-child(3) { top:132px; }
body.db9App .db9ArtPin { position:absolute; right:calc(45% - 14px); top:43px; display:flex; align-items:center; justify-content:center; width:36px; height:43px; border:1px solid #bfd3c6; background:#fff; color:#23755a; border-radius:14px; box-shadow:0 5px 16px #244c3212; }
body.db9App .db9HomeStats { display:flex; gap:30px; padding:19px 5px 23px; margin-bottom:4px; color:var(--db9-muted); font-size:12px; }
body.db9App .db9HomeStats > div { display:flex; align-items:center; gap:8px; }
body.db9App .db9HomeStats .db9Icon { width:17px; height:17px; flex-basis:17px; color:#628878; }
body.db9App .db9HomeStats b { color:var(--db9-ink); font-size:14px; font-weight:720; margin-right:3px; }
body.db9App .db9HomeGrid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:22px; align-items:start; }
body.db9App .db9Panel { padding:23px; border:1px solid var(--db9-line); border-radius:19px; background:#fff; box-shadow:var(--db9-shadow); }
body.db9App .db9HomeAside { display:grid; gap:17px; }
body.db9App .db9ExploreCard, body.db9App .db9ChallengeCard { display:block; width:100%; border:1px solid var(--db9-line); background:#fff; border-radius:19px; padding:23px; color:var(--db9-ink); text-align:left; box-shadow:var(--db9-shadow); }
body.db9App .db9TileIcon { display:flex; width:37px; height:37px; align-items:center; justify-content:center; border:1px solid #e0eae6; border-radius:11px; color:#33745c; background:#edf5ef; }
body.db9App .db9ExploreCard h2,body.db9App .db9ChallengeCard h2 { margin:13px 0 8px; font-size:19px; font-weight:700; letter-spacing:-.03em; line-height:1.3; }
body.db9App .db9ExploreCard p,body.db9App .db9ChallengeCard p { color:var(--db9-muted); font-size:13px; line-height:1.6; margin:0; }
body.db9App .db9ExploreCard > span:last-child,body.db9App .db9ChallengeCard > span:last-child { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:17px; color:#26765f; font-size:12px; font-weight:650; }
body.db9App .db9ChallengeCard { position:relative; background:#f6f2e7; border-color:#e9e2ce; }
body.db9App .db9ChallengeCard > .db9TileIcon { position:absolute; top:20px; right:22px; background:#f1e9d3; border-color:#e8dbb9; color:#8d6c22; }
body.db9App .db9ChallengeCard .db9Eyebrow { color:#8b793e; font-size:9px; max-width:75%; }
body.db9App .db9ChallengeCard h2 { margin-top:11px; color:#514b2a; }
body.db9App .db9ChallengeCard p { color:#77715b; }
body.db9App .db9ChallengeCard > span:last-child { color:#746129; }
body.db9App .db9Intro { display:flex; align-items:center; gap:13px; border:1px solid #dae5e9; border-radius:16px; padding:16px 19px; margin:24px 0 0; background:#edf4f6; }
body.db9App .db9Intro > span { color:#4c7888; }
body.db9App .db9Intro > div { flex:1; min-width:0; }
body.db9App .db9Intro b { font-size:13px; color:#365c6b; }
body.db9App .db9Intro p { margin:3px 0 0; color:#5b7480; font-size:12px; }
body.db9App .db9Intro > div > button { min-height:32px; padding:7px 0 0; border:0; background:transparent; color:#357384; font-size:11px; font-weight:650; }

/* Search and device logbook. */
body.db9App .db9Search { display:flex; align-items:center; gap:10px; width:100%; min-height:48px; margin:0; padding:0 15px; background:#fff; border:1px solid #d9e3e5; border-radius:13px; color:#7b9097; }
body.db9App .db9Search:focus-within { border-color:#65a794; box-shadow:0 0 0 3px #1881670d; }
body.db9App .db9Search input { width:100%; min-width:0; min-height:46px; padding:9px 0; margin:0; border:0; outline:0; color:var(--db9-ink); background:transparent; font-size:14px; box-shadow:none; }
body.db9App .db9Search input::placeholder { color:#73858e; opacity:1; }
body.db9App .db9Search .db9Icon { width:19px; height:19px; flex-basis:19px; }
body.db9App .db9FilterBar { display:flex; align-items:center; gap:16px; margin:18px 0; }
body.db9App .db9FilterBar .db9Search { flex:1; }
body.db9App .db9Segments { display:flex; align-items:center; gap:3px; flex:0 0 auto; width:fit-content; max-width:100%; padding:4px; border:1px solid #dfe6e7; border-radius:12px; background:#eaf0f1; }
body.db9App .db9Segments button { flex:1 0 auto; min-height:36px; padding:8px 14px; border:0; border-radius:8px; background:transparent; color:#63757e; font-size:12px; font-weight:650; white-space:nowrap; }
body.db9App .db9Segments button.active { color:#174b3e; background:#fff; box-shadow:0 1px 5px #213b4210; }
body.db9App .db9LogList { overflow:hidden; border:1px solid var(--db9-line); border-radius:17px; background:#fff; }
body.db9App .db9LogRow { display:flex; align-items:center; gap:11px; padding:14px 17px; background:#fff; border:0; border-bottom:1px solid #edf1f2; }
body.db9App .db9LogRow:last-child { border-bottom:0; }
body.db9App .db9LogOpen { display:flex; align-items:center; gap:12px; flex:1; min-width:0; min-height:60px; padding:0; border:0; border-radius:0; background:transparent; color:var(--db9-ink); text-align:left; box-shadow:none; }
body.db9App .db9LogOpen > span:last-child { display:block; min-width:0; flex:1; }
body.db9App .db9LogOpen b { display:block; font-size:14px; font-weight:700; overflow-wrap:anywhere; }
body.db9App .db9LogOpen span > span { display:block; margin-top:3px; color:var(--db9-muted); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.db9App .db9LogOpen small { display:block; font-size:11px; color:#7c8a91; margin-top:3px; }
body.db9App .db9LogIcon { display:flex; align-items:center; justify-content:center; flex:0 0 39px; width:39px; height:43px; border:1px solid #dfe8e6; background:#f0f6f3; border-radius:10px; color:#678777; }
body.db9App .db9LogIcon .db9Icon { width:19px; height:19px; flex-basis:19px; }
body.db9App .db9LogMeta { display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:0 0 auto; }
body.db9App .db9LogMeta > small { color:#829098; font-size:10px; }
body.db9App .db9Tag { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:24px; padding:3px 7px; border:1px solid #e2e8e9; border-radius:6px; background:#f5f7f8; color:#6b7b82; font-size:10px; line-height:1.4; font-weight:550; white-space:nowrap; }
body.db9App .db9Tag .db9Icon { width:11px; height:11px; flex-basis:11px; }
body.db9App .db9Tag.shared { color:#397759; border-color:#d6e8db; background:#eef6ef; }
body.db9App .db9RecentList .db9LogRow { padding:13px 0; gap:7px; }
body.db9App .db9RecentList .db9LogRow > .db9IconButton { width:30px; flex-basis:30px; padding:5px; }
body.db9App .db9RecentList .db9LogIcon { width:34px; flex-basis:34px; }
body.db9App .db9DeviceNote { display:flex; align-items:flex-start; gap:7px; color:#71828a; font-size:11px; margin:18px 2px 0; line-height:1.6; }
body.db9App .db9DeviceNote .db9Icon { width:14px; height:14px; flex-basis:14px; margin-top:2px; }
body.db9App .db9DraftCard { display:flex; align-items:center; gap:15px; width:100%; padding:18px 20px; border:1px solid #d3e4d9; border-radius:15px; background:#eef6ef; text-align:left; color:#355d44; }
body.db9App .db9DraftCard > span:nth-child(2) { display:block; min-width:0; flex:1; }
body.db9App .db9DraftCard small { display:block; margin-bottom:5px; color:#558062; font-size:9px; font-weight:750; letter-spacing:.07em; }
body.db9App .db9DraftCard b { display:block; color:#2b513a; font-size:15px; font-weight:700; }
body.db9App .db9DraftCard span > span { display:block; color:#66806e; font-size:12px; margin-top:3px; overflow-wrap:anywhere; }
body.db9App .db9DraftCard em { display:block; color:#7b8e80; font-size:10px; font-style:normal; margin-top:4px; }
body.db9App .db9DraftIcon { display:flex; align-items:center; justify-content:center; flex:0 0 43px; width:43px; height:48px; border:1px solid #cfe2d2; border-radius:11px; color:#5f8b65; background:#fff; }
body.db9App .db9DraftCard.compact { margin-bottom:8px; padding:14px; }
body.db9App .db9DraftCard.compact .db9DraftIcon { display:none; }
body.db9App .db9DraftCard.compact b { font-size:14px; }

/* Honest empty, loading and failure states. */
body.db9App .db9Empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; width:100%; min-height:210px; padding:31px 23px; text-align:center; color:var(--db9-muted); }
body.db9App .db9EmptyIcon { display:flex; align-items:center; justify-content:center; width:51px; height:56px; margin:0 0 16px; border:1px solid #e0e8e4; border-radius:14px; background:#f2f7f3; color:#73947e; }
body.db9App .db9EmptyIcon .db9Icon { width:25px; height:25px; }
body.db9App .db9Empty h3 { font-size:16px; font-weight:680; letter-spacing:-.02em; color:#385549; margin:0 0 8px; }
body.db9App .db9Empty p { max-width:340px; font-size:13px; line-height:1.65; margin:0; color:var(--db9-muted); }
body.db9App .db9Empty .db9Button { margin-top:20px; }
body.db9App .db9Loading { display:flex; align-items:center; justify-content:center; gap:10px; min-height:190px; grid-column:1/-1; font-size:13px; color:var(--db9-muted); }
body.db9App .db9Spinner { width:17px; height:17px; border:2px solid #dbe8e3; border-top-color:#48856e; border-radius:50%; animation:db9Spin .8s linear infinite; }
@keyframes db9Spin { to { transform:rotate(360deg); } }
body.db9App .db9Error { grid-column:1/-1; padding:27px; border:1px solid #e6d7c6; border-radius:15px; background:#fffcf7; color:#785e3b; }
body.db9App .db9Error b { font-size:15px; }
body.db9App .db9Error p { margin:7px 0 16px; font-size:13px; overflow-wrap:anywhere; }

/* Community: three understandable destinations and a real member directory. */
body.db9App .db9CommunityTabs { position:static; display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:0; margin:0 0 28px; border:0; border-bottom:1px solid #dbe5e6; background:transparent; box-shadow:none; }
body.db9App .db9CommunityTabs button { display:flex; align-items:center; justify-content:center; gap:8px; min-height:55px; padding:12px 9px; margin:0 0 -1px; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; color:#71828a; font-size:14px; font-weight:650; box-shadow:none; }
body.db9App .db9CommunityTabs button.active { color:#137961; border-bottom-color:#248971; }
body.db9App .db9CommunityTabs .db9Icon { width:19px; height:19px; flex-basis:19px; }
body.db9App #db9BoardHost .db9Docked { display:block!important; }
body.db9App #db9BoardHost .card { padding:22px; margin:0; }
body.db9App #db9BoardHost .dbcBoardHead { display:none; }
body.db9App .dbcBoardFilters { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:9px; margin:0 0 18px; }
body.db9App .dbcBoardFilters input,body.db9App .dbcBoardFilters select { min-width:0; width:100%; min-height:44px; padding:10px 12px; border:1px solid #dce5e7; border-radius:10px; background:#fff; color:var(--db9-ink); font-size:13px; }
body.db9App .dbcBoardFilters button { min-height:44px; padding:9px 14px; border:1px solid #d7e2e4; background:#f6f9fa; color:#54707b; border-radius:10px; font-size:12px; }
body.db9App .dbcPostCard { display:block; width:100%; padding:20px; margin:0 0 12px; border:1px solid #e0e7e8; border-radius:14px; background:#fff; color:var(--db9-ink); text-align:left; }
body.db9App .dbcPostCard:last-child { margin-bottom:0; }
body.db9App .dbcPostCard h3 { margin:11px 0 8px; font-size:17px; line-height:1.35; }
body.db9App .dbcPostCard p { color:var(--db9-muted); font-size:13px; line-height:1.65; margin:0 0 15px; }
body.db9App .dbcPostTop { display:flex; align-items:center; justify-content:space-between; gap:10px; }
body.db9App .dbcPostTop em,body.db9App .dbcPostMeta em { color:#7b8e96; font-size:10px; font-style:normal; }
body.db9App .dbcTopic { padding:4px 7px; border:1px solid #dce8df; border-radius:6px; background:#f0f6f1; color:#55785c; font-size:10px; font-weight:650; }
body.db9App .dbcPostMeta { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
body.db9App .dbcPostMeta > span { flex:1; min-width:0; }
body.db9App .dbcPostMeta b { display:block; color:#3d5660; font-size:11px; }
body.db9App .dbcPostMeta small { display:block; color:#758791; font-size:10px; }
body.db9App .dbcEmpty { display:grid; gap:8px; align-content:center; justify-items:center; min-height:160px; padding:24px; border:0; background:transparent; text-align:center; }
body.db9App .dbcEmpty b { color:#466451; font-size:15px; }
body.db9App .dbcEmpty span { max-width:350px; color:#6f8279; font-size:13px; line-height:1.6; }
body.db9App .dbcLoading { padding:45px 18px; color:var(--db9-muted); font-size:13px; text-align:center; }
body.db9App .db9MemberGrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body.db9App .db9MemberGrid > .db9Empty { grid-column:1/-1; border:1px solid var(--db9-line); background:#fff; border-radius:16px; }
body.db9App .db9MemberCard { display:flex; flex-direction:column; min-width:0; padding:21px; border:1px solid var(--db9-line); border-radius:17px; background:#fff; color:var(--db9-ink); text-align:left; box-shadow:var(--db9-shadow); }
body.db9App .db9MemberCard:hover { border-color:#a1c2b3; }
body.db9App .db9MemberTop { display:flex; justify-content:space-between; align-items:center; width:100%; margin:0 0 14px; }
body.db9App .db9MemberCard h3 { margin:0 0 5px; font-size:17px; font-weight:700; letter-spacing:-.02em; }
body.db9App .db9MemberRole { min-height:20px; margin:0 0 12px; color:#547367; font-size:11px; }
body.db9App .db9MemberBio { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:39px; margin:0 0 18px; color:var(--db9-muted); font-size:12px; line-height:1.6; }
body.db9App .db9MemberRegion { display:flex; align-items:center; gap:4px; margin-top:auto; padding-top:12px; width:100%; border-top:1px solid #eef2f2; color:#778b92; font-size:11px; }
body.db9App .db9MemberRegion .db9Icon { width:14px; height:14px; flex-basis:14px; }
body.db9App .db9CommunityFooter { display:flex; justify-content:center; padding:28px 10px 0; }
body.db9App .db9CommunityFooter button { min-height:44px; padding:8px; background:transparent; border:0; color:#627e87; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
body.db9App .db9Paging { display:flex; align-items:center; justify-content:center; gap:18px; margin:20px 0 0; font-size:12px; color:var(--db9-muted); }
body.db9App .db9Paging:empty { margin:0; }

/* A simple, transparent monthly competition. */
body.db9App .db9ChallengeHead { display:flex; align-items:center; gap:22px; padding:27px; border:1px solid #e3ddc9; border-radius:19px; background:#f5f1e5; margin-bottom:21px; }
body.db9App .db9ChallengeIcon { display:flex; align-items:center; justify-content:center; width:64px; height:70px; flex:0 0 64px; border:1px solid #e7dcbc; border-radius:17px; background:#fbf7ed; color:#a0833f; }
body.db9App .db9ChallengeIcon .db9Icon { width:33px; height:33px; flex-basis:33px; }
body.db9App .db9ChallengeHead .db9Eyebrow { color:#917c43; }
body.db9App .db9ChallengeHead h2 { margin:6px 0 7px; color:#514d32; font-size:27px; line-height:1.2; font-weight:700; letter-spacing:-.04em; }
body.db9App .db9ChallengeHead p { color:#7b7458; font-size:13px; margin:0; }
body.db9App .db9LeaderboardControls { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 19px; }
body.db9App .db9LeaderboardControls > span { font-size:11px; }
body.db9App .db9LeaderboardList { overflow:hidden; border:1px solid var(--db9-line); border-radius:17px; background:#fff; }
body.db9App .db9LeaderboardCaption { display:flex; justify-content:space-between; gap:10px; padding:12px 20px; border-bottom:1px solid #e8eeef; color:#778993; background:#fbfcfc; font-size:10px; letter-spacing:.025em; }
body.db9App .db9LeaderRow { display:flex; align-items:center; gap:14px; width:100%; min-height:79px; padding:15px 22px; border:0; border-bottom:1px solid #edf1f2; border-radius:0; background:#fff; color:var(--db9-ink); text-align:left; }
body.db9App .db9LeaderRow:last-child { border-bottom:0; }
body.db9App .db9LeaderRow.is-me { background:#f1f8f1; }
body.db9App .db9Rank { display:flex; align-items:center; justify-content:center; width:27px; flex:0 0 27px; color:#779097; font-size:13px; font-weight:700; }
body.db9App .db9Rank.top { color:#9b7b37; }
body.db9App .db9LeaderName { display:block; flex:1; min-width:0; }
body.db9App .db9LeaderName > b { display:block; font-size:14px; font-weight:700; }
body.db9App .db9LeaderName > span { display:block; color:#809096; font-size:11px; margin-top:3px; }
body.db9App .db9LeaderName small { font-size:10px; font-weight:600; color:#3f8869; margin-left:5px; }
body.db9App .db9LeaderRow > strong { color:#286c52; font-size:21px; font-weight:700; }
body.db9App .db9ProgressCard { padding:21px 24px; border:1px solid #d8e8db; border-radius:17px; background:#f0f7f0; margin:0 0 19px; }
body.db9App .db9ProgressTop { display:flex; align-items:center; gap:10px; }
body.db9App .db9ProgressTop > div { flex:1; min-width:0; }
body.db9App .db9ProgressTop h3 { margin:3px 0 0; color:#335a41; font-size:16px; letter-spacing:-.02em; }
body.db9App .db9ProgressTop .db9Eyebrow { font-size:9px; color:#78957a; }
body.db9App .db9RankPill { padding:6px 9px; border:1px solid #d4e4d5; border-radius:8px; color:#648368; background:#fff; font-size:10px; white-space:nowrap; }
body.db9App .db9ProgressNumbers { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; padding:18px 0 19px; border-bottom:1px solid #dae8dc; margin:0 0 16px; }
body.db9App .db9ProgressNumbers > span { color:#78917c; font-size:11px; }
body.db9App .db9ProgressNumbers b { display:block; color:#365d40; font-size:23px; line-height:1.25; font-weight:690; margin-bottom:3px; }
body.db9App .db9Milestone { display:flex; justify-content:space-between; gap:10px; color:#68856a; font-size:11px; margin-bottom:8px; }
body.db9App .db9Milestone b { font-weight:650; }
body.db9App .db9ProgressCard progress { display:block; width:100%; height:7px; margin:0 0 15px; border:0; border-radius:10px; overflow:hidden; background:#dfecdf; accent-color:#5f9c6a; }
body.db9App .db9ProgressCard progress::-webkit-progress-bar { background:#dfeade; border-radius:10px; }
body.db9App .db9ProgressCard progress::-webkit-progress-value { background:#659a6c; border-radius:10px; }
body.db9App .db9Badges { display:flex; flex-wrap:wrap; gap:7px; }
body.db9App .db9Badges > span { display:inline-flex; align-items:center; gap:5px; min-height:28px; padding:5px 8px; border:1px solid #dfe6df; border-radius:7px; background:#f3f5f2; color:#8b998b; font-size:10px; }
body.db9App .db9Badges .db9Icon { width:12px; height:12px; flex-basis:12px; }
body.db9App .db9Badges > span.earned { background:#fffaf0; border-color:#e7dbb9; color:#8c7738; }
body.db9App .db9Unlisted { margin:14px 0 0; color:#74907b; font-size:11px; }
body.db9App .db9Unlisted button { display:inline; border:0; padding:0; background:transparent; color:#377c56; font:inherit; text-decoration:underline; }
body.db9App .db9JoinCard { display:flex; align-items:center; gap:20px; padding:24px; margin:0 0 19px; border:1px solid #dbe6e4; border-radius:17px; background:#fff; }
body.db9App .db9JoinCard > div { flex:1; min-width:0; }
body.db9App .db9JoinCard h3 { margin:0 0 6px; font-size:17px; letter-spacing:-.025em; color:#38584d; }
body.db9App .db9JoinCard p { margin:0; color:var(--db9-muted); font-size:12px; line-height:1.6; }
body.db9App .db9Rules { border:1px solid #e1e7e7; border-radius:12px; background:#f9fbfb; margin:18px 0 0; color:#657c83; }
body.db9App .db9Rules summary { padding:13px 16px; min-height:46px; font-size:12px; font-weight:650; cursor:pointer; }
body.db9App .db9Rules > div { padding:0 16px 15px; }
body.db9App .db9Rules p { font-size:12px; line-height:1.7; margin:7px 0; }

/* Tools have a searchable, pin-able catalogue; opening one shows only that tool. */
body.db9App .db9ToolSection { margin:27px 0 0; }
body.db9App .db9ToolSection h2 { margin:0 0 14px; font-size:17px; font-weight:690; color:#3b575f; letter-spacing:-.025em; }
body.db9App .db9ToolGrid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
body.db9App .db9ToolCard { position:relative; overflow:hidden; min-width:0; border:1px solid #dfe7e9; border-radius:17px; background:#fff; box-shadow:var(--db9-shadow); }
body.db9App .db9ToolOpen { display:flex; flex-direction:column; align-items:flex-start; min-height:167px; width:100%; padding:20px; border:0; border-radius:0; color:var(--db9-ink); background:transparent; text-align:left; box-shadow:none; }
body.db9App .db9ToolIcon { display:flex; align-items:center; justify-content:center; width:35px; height:35px; margin-bottom:15px; border:1px solid #e0e9e5; border-radius:10px; background:#f1f7f3; color:#628875; }
body.db9App .db9ToolIcon .db9Icon { width:19px; height:19px; flex-basis:19px; }
body.db9App .db9ToolOpen > b { font-size:14px; font-weight:690; letter-spacing:-.02em; margin-bottom:5px; }
body.db9App .db9ToolOpen > span:last-child { font-size:11px; line-height:1.6; color:#71848d; }
body.db9App .db9PinTool { position:absolute; top:9px; right:8px; display:flex; align-items:center; justify-content:center; width:38px; height:38px; padding:10px; border:0; border-radius:10px; background:transparent; color:#b1c0c1; }
body.db9App .db9PinTool .db9Icon { width:16px; height:16px; flex-basis:16px; }
body.db9App .db9PinTool.pinned { color:#a78b3d; background:#faf6e9; }
body.db9App .db9PinTool.pinned .db9Icon { fill:#e7d598; }

/* Scoped routing wins over the earlier mobile focus styles. */
body.db9App .db9Legacy,body.db9App .db9Toolbar,body.db9App #fieldPanel,body.db9App #db9SharedLegacy { display:none!important; }
body.db9App[data-db9-main="explore"][data-db9-view="map"] .db9Legacy { display:grid!important; grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr); gap:22px; width:calc(100% - 56px); max-width:1120px; height:auto; margin:0 auto; background:transparent; overflow:visible; }
body.db9App[data-db9-main="explore"][data-db9-view="map"] .db9Toolbar { display:flex!important; align-items:center; gap:10px; width:calc(100% - 56px); max-width:1120px; height:auto; margin:0 auto 21px; padding:0; border:0; background:transparent; box-shadow:none; }
body.db9App .db9Toolbar #openFieldTools { display:none!important; }
body.db9App .db9Toolbar .search { width:auto; display:flex; flex:1; min-width:0; height:49px; margin:0; padding:0 5px 0 13px; border:1px solid #d1dfe0; border-radius:13px; background:#fff; }
body.db9App .db9Toolbar .search > span { flex:0 0 18px; color:#708a8d; font-size:23px; }
body.db9App .db9Toolbar .search input { width:100%; min-width:0; height:45px; flex:1; padding:10px; background:transparent; border:0; color:var(--db9-ink); font-size:14px; }
body.db9App .db9Toolbar .search > button { position:static; flex:0 0 auto; width:auto; height:37px; min-height:37px; padding:8px 13px; border:0; border-radius:9px; background:#edf5f1; color:#38755c; font-size:12px; }
body.db9App .db9Toolbar #locateBtn { display:inline-flex!important; align-items:center; justify-content:center; min-height:49px; padding:11px 17px; border-radius:13px; background:#fff; border:1px solid #d1dfe0; color:#326f57; font-size:13px; }
body.db9App .db9Legacy .mapPane { position:sticky; top:105px; display:block!important; align-self:start; height:580px; min-height:350px; width:100%; border:1px solid #d5e2e1; border-radius:18px; overflow:hidden; }
body.db9App .db9Legacy #map { height:100%; width:100%; }
body.db9App .db9Legacy .mapHint { bottom:14px; left:14px; right:14px; border:1px solid #dce7e2; border-radius:12px; background:#f9fcf7ed; box-shadow:0 4px 16px #193a2714; color:#2f5a45; }
body.db9App .db9Legacy .mapHint b { color:#47735d; font-size:10px; }
body.db9App .db9Legacy .mapHint span { color:#6e8877; font-size:11px; }
body.db9App .db9Legacy .intelPane { min-height:0; max-height:none; height:auto; min-width:0; padding:0; margin:0; border:0; overflow:visible; background:transparent; }
body.db9App .db9Legacy .siteTop { position:static; display:flex; align-items:center; gap:10px; padding:18px; border:1px solid #e0e8e7; border-radius:15px; background:#fff; margin:0 0 14px; }
body.db9App .db9Legacy .siteTop small { color:#6c8776; font-size:9px; }
body.db9App .db9Legacy .siteTop small:after { content:none; }
body.db9App .db9Legacy .siteTop h1 { margin:4px 0 4px; font-size:21px; white-space:normal; letter-spacing:-.04em; line-height:1.25; }
body.db9App .db9Legacy .siteTop p { font-size:11px; color:#7b8d93; margin:0; }
body.db9App .db9Legacy .siteTop .iconBtn { position:static; display:block!important; width:44px; flex:0 0 44px; }
body.db9App .db9Legacy .projectBar { display:block; padding:14px; border:1px solid #e0e7e8; border-radius:14px; margin:0 0 15px; background:#fff; }
body.db9App .db9Legacy .modes { display:flex; flex-wrap:wrap; gap:5px; }
body.db9App .db9Legacy .modes button { padding:7px 9px; min-height:34px; font-size:10px; }
body.db9App .db9Legacy .depth { display:flex; align-items:center; gap:9px; margin-top:13px; font-size:11px; }
body.db9App .db9Legacy .depth input { flex:1; min-width:0; }
body.db9App .db9Legacy .scoreRow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:0 0 15px; padding:0; border:0; }
body.db9App .db9Legacy .score { grid-column:auto; padding:12px 9px; min-height:91px; }
body.db9App .db9Legacy .score small { font-size:8px; }
body.db9App .db9Legacy .score strong { font-size:19px; }
body.db9App .db9Legacy .score span { font-size:9px; }
body.db9App #db9SiteTabs { position:static; display:flex; flex-wrap:wrap; gap:5px; padding:0; margin:0 0 15px; background:transparent; border:0; box-shadow:none; }
body.db9App #db9SiteTabs button { flex:1; padding:10px 7px; min-height:42px; border:1px solid #e0e7e8; border-radius:10px; background:#fff; color:#6c8188; font-size:11px; font-weight:650; }
body.db9App #db9SiteTabs button.active { background:#e8f4ed; color:#2c7455; border-color:#cfe1d4; }
body.db9App .db9Legacy .tabsBody { min-width:0; padding:0; }
body.db9App .db9Legacy .card,body.db9App .db9Legacy .heroCard { padding:20px; border-radius:15px!important; box-shadow:var(--db9-shadow); }
body.db9App .db9Legacy .cardHead span { font-size:10px; letter-spacing:.04em; }
body.db9App .db9Legacy .cardHead em { font-size:8px; }
body.db9App .db9Legacy .card p,body.db9App .db9Legacy .heroCard p { font-size:13px; line-height:1.65; }
body.db9App .db9Legacy .card h3 { font-size:17px; }
body.db9App .db9Legacy .heroCard h2 { font-size:23px; }
body.db9App .db9Legacy .emptyState { min-height:350px; padding:50px 28px; border:1px dashed #d3e0da; border-radius:18px; background:#f9fbf9; }
body.db9App .db9Legacy .emptyState h1 { font-size:24px; }
body.db9App .db9Legacy .emptyState p { color:#65806e; font-size:13px; }
body.db9App .db9Legacy .emptyGrid { display:none; }
body.db9App .db9ExploreTabs { position:static; display:flex; gap:8px; flex-wrap:wrap; background:transparent; padding:0; border:0; margin:0 0 21px; box-shadow:none; }
body.db9App .db9ExploreTabs button { min-height:40px; padding:9px 15px; border:1px solid #dce6e6; border-radius:11px; background:#fff; color:#637b81; font-size:12px; font-weight:600; }
body.db9App .db9ExploreTabs button.active { background:#e7f2eb; color:#367357; border-color:#cee1d4; }
body.db9App[data-db9-main="explore"][data-db9-view="shared"] #db9SharedLegacy { display:block!important; width:calc(100% - 56px); max-width:1120px; padding:23px; margin:0 auto; }
body.db9App[data-db9-main="logs"][data-db9-view="editor"] .db9Legacy,
body.db9App[data-db9-main="logs"][data-db9-view="core"] .db9Legacy,
body.db9App[data-db9-main="tools"][data-db9-view="welldesigner"] .db9Legacy,
body.db9App[data-db9-main="tools"][data-db9-view="bits"] .db9Legacy,
body.db9App[data-db9-main="tools"][data-db9-view="profield"] .db9Legacy,
body.db9App[data-db9-main="explore"][data-db9-view="ground"] .db9Legacy,
body.db9App[data-db9-main="explore"][data-db9-view="saved"] .db9Legacy { display:block!important; width:calc(100% - 56px); max-width:1120px; min-height:0; height:auto; margin:0 auto; overflow:visible; background:transparent; }
body.db9App:not([data-db9-view="map"]) .db9Legacy .mapPane,
body.db9App:not([data-db9-view="map"]) .db9Legacy .siteTop,
body.db9App:not([data-db9-view="map"]) .db9Legacy .projectBar,
body.db9App:not([data-db9-view="map"]) .db9Legacy .scoreRow,
body.db9App:not([data-db9-view="map"]) .db9Legacy .actions,
body.db9App:not([data-db9-view="map"]) .db9Legacy .disclaimer,
body.db9App:not([data-db9-view="map"]) .db9Legacy #emptyState,
body.db9App:not([data-db9-view="map"]) #db9SiteTabs { display:none!important; }
body.db9App:not([data-db9-view="map"]) .db9Legacy #siteView { display:block!important; }
body.db9App .db9WorkspaceBar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:-12px 0 15px; }
body.db9App .db9StatusPill { display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border-radius:30px; border:1px solid #e1e8e5; background:#fff; color:#729180; font-size:10px; }
body.db9App .db9StatusPill .db9Icon { width:12px; height:12px; flex-basis:12px; }
body.db9App .db9LogModes { margin:0 0 20px; }

/* The bore editor keeps its controls and reveals optional data in named sections. */
body.db9App .db9BoreDetails { margin:0 0 13px; border:1px solid #dde7e5; border-radius:15px; background:#fff; overflow:hidden; }
body.db9App .db9BoreDetails > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:69px; padding:16px 20px; list-style:none; cursor:pointer; }
body.db9App .db9BoreDetails > summary::-webkit-details-marker { display:none; }
body.db9App .db9BoreDetails > summary b { display:block; font-size:14px; font-weight:650; color:#3b5c50; }
body.db9App .db9BoreDetails > summary small { display:block; margin-top:3px; font-size:11px; color:#7a9084; }
body.db9App .db9BoreDetails > summary > .db9Icon { width:18px; height:18px; color:#83a090; }
body.db9App .db9BoreDetails[open] > summary > .db9Icon { transform:rotate(45deg); }
body.db9App .db9BoreDetails > .card { margin:0; border:0!important; border-radius:0!important; box-shadow:none; padding-top:0; }
body.db9App .db9BoreDetails > .card > .cardHead { display:none; }
body.db9App #boredatabase .dbFastLog { margin:16px 0 24px; padding:21px; border:1px solid #dde9df; border-radius:14px; background:#f4f8f2; }
body.db9App #boredatabase .dbFastLog h3 { color:#3e6649; font-size:19px; margin:6px 0 7px; }
body.db9App #boredatabase .dbFastLog p { color:#718b75; font-size:12px; max-width:700px; }
body.db9App #boredatabase .dbFastLog textarea { min-height:105px; border:1px solid #d4e2d3; border-radius:11px; background:#fff; color:#36513d; font-size:14px; padding:13px; }
body.db9App #boredatabase .engSection h3 { color:#3a574e; font-size:17px; margin:0 0 15px; }
body.db9App #boredatabase .engSection h3 small { display:block; margin-top:4px; font-size:11px; color:#83938a; font-weight:400; }
body.db9App #boredatabase .engGrid.three { grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px 17px; }
body.db9App #boredatabase .engGrid label,body.db9App #boredatabase .engSection > label { color:#678077; font-size:12px; }
body.db9App #boredatabase input,body.db9App #boredatabase select,body.db9App #boredatabase textarea { border-color:#d7e3dd; color:var(--db9-ink); background:#fff; }
body.db9App #boredatabase button { border-color:#d4e0d9; background:#f9fcf8; color:#4c7459; }
body.db9App #boredatabase button.primary { color:#fff; background:#087c6e; border-color:#087c6e; }
body.db9App #boredatabase .db9LegacyLogSearch { display:none; }
body.db9App .dbcPublishBox { padding:19px 22px; border:1px solid #dce7e1; border-radius:15px; background:#f5f9f6; margin:0 0 17px; }
body.db9App .dbcPublishHead b { font-size:15px; }
body.db9App .dbcPublishHead small { color:#819385; font-size:9px; }
body.db9App .dbcPublishHead #dbcOpenCommunity { display:none; }
body.db9App .dbcPublishGrid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
body.db9App .dbcPublishGrid label { display:grid; gap:5px; font-size:11px; color:#68816c; }
body.db9App .dbcPublishGrid select { width:100%; min-height:44px; padding:8px 11px; border:1px solid #d4e2d5; border-radius:10px; background:#fff; color:#456b4d; font-size:13px; }
body.db9App .dbcProfileStrip { width:100%; display:flex; align-items:center; gap:10px; margin:12px 0 9px; border:1px solid #dce8dc; border-radius:10px; padding:10px; background:#fff; text-align:left; }
body.db9App .dbcProfileStrip b { display:block; color:#466a4d; font-size:12px; }
body.db9App .dbcProfileStrip span { color:#79947d; font-size:10px; }
body.db9App .dbcTiny { font-size:11px; color:#7a8e80; line-height:1.7; }
body.db9App[data-db9-main="tools"][data-db9-view="field"] #fieldPanel { display:block!important; position:static; width:calc(100% - 56px); max-width:1120px; min-height:0; height:auto; margin:0 auto; padding:0; border:0; background:transparent; overflow:visible; }
body.db9App #fieldPanel .fieldHeading,body.db9App #fieldPanel .fieldNav,body.db9App #fieldPanel #dbToolPicker,body.db9App #fieldPanel > .toolNote { display:none!important; }
body.db9App #fieldPanel .fieldGrid { display:block; }
body.db9App #fieldPanel .fieldGrid > .card { display:none!important; }
body.db9App #fieldPanel .fieldGrid > .card.db9ToolVisible { display:block!important; margin-bottom:18px; padding:23px; }
body.db9App #fieldPanel .card h2 { margin:0 0 19px; color:#365e4a; font-size:21px; }
body.db9App #fieldPanel .toolNote { font-size:12px; line-height:1.7; }
body.db9App #fieldPanel input,body.db9App #fieldPanel select,body.db9App #fieldPanel textarea { min-height:44px; border-radius:10px; border-color:#d8e3de; color:var(--db9-ink); background:#fff; font-size:15px; }
body.db9App #fieldPanel input[type="checkbox"] { min-height:0; }
body.db9App #fieldPanel label { color:#577866; font-size:13px; }
body.db9App #fieldPanel button { min-height:44px; }

/* Native dialogs provide keyboard focus containment and a clear close action. */
body.db9App .db9Dialog { position:fixed; width:calc(100% - 32px); max-width:530px; max-height:85vh; max-height:85dvh; margin:auto; padding:0; border:1px solid #d9e3e2; border-radius:23px; background:#fff; color:var(--db9-ink); box-shadow:0 24px 90px #17332633; overflow:auto; }
body.db9App .db9Dialog::backdrop { background:rgba(19,38,36,.35); backdrop-filter:blur(6px); }
body.db9App .db9DialogHead { display:flex; align-items:flex-start; gap:12px; justify-content:space-between; padding:24px 23px 18px; border-bottom:1px solid #e8eeec; }
body.db9App .db9DialogHead > div { min-width:0; }
body.db9App .db9DialogHead h2 { margin:0; color:#244d3b; font-size:23px; font-weight:710; letter-spacing:-.035em; line-height:1.2; }
body.db9App .db9DialogHead p { margin:8px 0 0; font-size:13px; line-height:1.55; color:#718579; }
body.db9App .db9DialogHead .db9IconButton { margin:-8px -10px 0 0; }
body.db9App .db9DialogBody { padding:23px; }
body.db9App .db9DialogBody > p { font-size:13px; color:var(--db9-muted); line-height:1.7; }
body.db9App .db9DialogActions { display:flex; flex-wrap:wrap; gap:9px; justify-content:flex-end; margin-top:21px; }
body.db9App .db9Field { display:grid; gap:7px; margin-bottom:17px; color:#55715f; font-size:13px; }
body.db9App .db9Field input,body.db9App .db9Field textarea,body.db9App .db9Field select { width:100%; min-height:46px; padding:11px; border:1px solid #d9e4dd; border-radius:11px; background:#fff; color:var(--db9-ink); font-size:14px; }
body.db9App .db9MenuList { border:1px solid #e0e9e3; border-radius:13px; overflow:hidden; }
body.db9App .db9MenuList button { display:flex; align-items:center; gap:10px; width:100%; min-height:56px; padding:13px 16px; border:0; border-bottom:1px solid #e9efea; border-radius:0; background:#fff; color:#446954; font-size:13px; font-weight:560; text-align:left; }
body.db9App .db9MenuList button:last-child { border-bottom:0; }
body.db9App .db9MenuList button .db9Icon { width:18px; height:18px; flex-basis:18px; color:#87a28e; }
body.db9App .db9MenuList button .db9Icon:last-child:not(:first-child) { margin-left:auto; width:14px; height:14px; flex-basis:14px; }
body.db9App .db9AccountIdentity { display:flex; align-items:center; gap:15px; margin:0 0 21px; }
body.db9App .db9AccountIdentity > div { min-width:0; }
body.db9App .db9AccountIdentity b { display:block; font-size:15px; }
body.db9App .db9AccountIdentity span:not(.db9Avatar) { display:block; font-size:12px; color:#7d9283; margin-top:4px; line-height:1.55; }
body.db9App .db9AccountFoot { text-align:center; font-size:10px; margin:23px 0 0; }
body.db9App .db9MemberDetail { display:flex; flex-direction:column; align-items:center; text-align:center; }
body.db9App .db9MemberDetail p { font-size:14px; line-height:1.7; color:#66816c; margin:18px 0 12px; }
body.db9App .db9MemberDetail > span:not(.db9Avatar) { display:flex; align-items:center; gap:5px; color:#849989; font-size:12px; }
body.db9App .db9MemberDetail .db9Icon { width:15px; height:15px; }
body.db9App .db9MemberStats { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:19px; margin:21px 0 15px; border:1px solid #e1e9e0; border-radius:13px; background:#f5f9f2; text-align:center; }
body.db9App .db9MemberStats > span { color:#809176; font-size:11px; }
body.db9App .db9MemberStats b { display:block; color:#52714c; font-size:26px; font-weight:680; }
body.db9App .db9BlockRow { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 0; border-bottom:1px solid #e6ede8; font-size:13px; }
body.db9App .db9Guidelines h3 { margin:19px 0 7px; color:#48705a; font-size:15px; }
body.db9App .db9Guidelines h3:first-child { margin-top:0; }
body.db9App .db9Guidelines p { margin:0; color:#748b7b; font-size:13px; line-height:1.75; }
body.db9App .db9WhatsNew { display:grid; gap:15px; }
body.db9App .db9WhatsNew > div { display:flex; align-items:flex-start; gap:13px; padding:15px; border:1px solid #e0e9e2; border-radius:13px; background:#f8fbf6; }
body.db9App .db9WhatsNew > div > .db9Icon { color:#6a9171; margin-top:2px; }
body.db9App .db9WhatsNew b { color:#46694c; font-size:14px; }
body.db9App .db9WhatsNew p { color:#78917e; font-size:12px; line-height:1.6; margin:5px 0 0; }
body.db9App .db9SupportLink { margin:22px 0 0; padding:15px; border:1px solid #dce8df; border-radius:12px; background:#f4f8f1; text-align:center; }
body.db9App .db9SupportLink a { color:#42764e; font-size:13px; font-weight:600; text-underline-offset:3px; }
body.db9App .db9ContentActions { display:flex; align-items:center; gap:7px; margin-left:auto; }
body.db9App .db9ContentActions button { min-height:40px; padding:8px 10px; border:1px solid #e0e8e5; border-radius:9px; background:#fff; color:#6e8b7b; font-size:11px; }
body.db9App .dbcComment .db9ContentActions { flex-basis:100%; padding-left:38px; }
body.db9App .db9Check { display:flex!important; align-items:flex-start; gap:10px!important; padding:13px; border:1px solid #dbe7de; border-radius:12px; background:#f5f9f2; }
body.db9App .db9Check > input { width:18px!important; height:18px!important; min-height:18px!important; margin-top:3px; padding:0!important; flex:0 0 18px; accent-color:#318064; }
body.db9App .db9Check > span { min-width:0; }
body.db9App .db9Check b { display:block; font-size:12px; color:#4a7157; }
body.db9App .db9Check small { display:block; font-size:11px; font-weight:400; color:#7c947f; line-height:1.6; margin-top:4px; }
body.db9App .dbcModalBackdrop { z-index:400; background:#142f2959; backdrop-filter:blur(5px); }
body.db9App .dbcModal { max-height:87vh; max-height:87dvh; border:1px solid #dce6e1; border-radius:22px; box-shadow:0 24px 90px #17332633; }
body.db9App .dbcModalHead h2 { color:#2d5741; font-size:24px; letter-spacing:-.03em; line-height:1.25; }
body.db9App .dbcModalHead p { font-size:13px; line-height:1.6; color:#78907e; }
body.db9App .dbcModal input,body.db9App .dbcModal textarea,body.db9App .dbcModal select { font-size:15px; color:#3e624b; border-color:#d4e1d8; min-height:44px; }
body.db9App .dbcModal button { min-height:44px; font-size:13px; }
body.db9App .dbcModalActions { padding-bottom:max(18px,env(safe-area-inset-bottom)); }
body.db9App .dbcModal .dbcComment { display:flex; flex-wrap:wrap; }
body.db9App #toast { z-index:25000; max-width:calc(100vw - 36px); font-size:13px; line-height:1.5; border-radius:13px; }

@media (max-width:1000px) {
  body.db9App #db9Header { padding-left:24px; padding-right:24px; gap:16px; }
  body.db9App .db9Brand { min-width:155px; }
  body.db9App .db9Brand small { display:none; }
  body.db9App #db9Nav button { padding-left:10px; padding-right:10px; gap:5px; }
  body.db9App .db9HomeGrid { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:17px; }
  body.db9App .db9ToolGrid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.db9App .db9MemberGrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  body.db9App { padding-bottom:calc(93px + env(safe-area-inset-bottom)); }
  body.db9App #db9Header { height:calc(69px + env(safe-area-inset-top)); min-height:69px; padding:calc(12px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 12px max(20px,env(safe-area-inset-left)); justify-content:space-between; backdrop-filter:none; -webkit-backdrop-filter:none; }
  body.db9App .db9Brand { min-width:0; gap:8px; }
  body.db9App .db9Brand img { width:32px; height:32px; }
  body.db9App .db9Brand > span { font-size:23px; }
  body.db9App #db9Account { width:38px; height:38px; flex-basis:38px; }
  body.db9App #db9Account .db9Avatar { width:31px; height:31px; flex-basis:31px; font-size:10px; }
  body.db9App #db9Nav { position:fixed; top:auto; left:0; right:0; bottom:0; z-index:200; width:100%; height:auto; min-height:calc(71px + env(safe-area-inset-bottom)); padding:7px max(9px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left)); display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:3px; background:rgba(255,255,255,.96); border-top:1px solid #dfe8e7; box-shadow:0 -3px 20px #13392d06; backdrop-filter:blur(20px); }
  body.db9App #db9Nav button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:55px; min-width:0; padding:5px 1px; border-radius:11px; font-size:10px; font-weight:650; letter-spacing:-.01em; }
  body.db9App #db9Nav .db9Icon { width:21px; height:21px; flex-basis:21px; }
  body.db9App #db9Nav button.active { background:#edf6f0; }
  body.db9App #db9Content { padding:24px 20px 0; }
  body.db9App .db9PageHead { align-items:flex-start; gap:12px; margin-bottom:21px; }
  body.db9App .db9PageHead h1 { font-size:29px; margin-top:5px; line-height:1.15; }
  body.db9App .db9PageHead p { font-size:13px; line-height:1.55; }
  body.db9App .db9PageHead > .db9Button { padding:9px 11px; font-size:12px; }
  body.db9App .db9HomeHead { display:block; }
  body.db9App .db9HomeHead h1 { font-size:29px; }
  body.db9App .db9Connection { display:none; }
  body.db9App .db9Hero { min-height:270px; padding:25px 24px; grid-template-columns:1fr; border-radius:20px; }
  body.db9App .db9HeroLabel { font-size:8px; letter-spacing:.09em; }
  body.db9App .db9Hero h2 { font-size:29px; letter-spacing:-.04em; }
  body.db9App .db9Hero p { max-width:240px; font-size:12px; margin-bottom:21px; }
  body.db9App .db9StrataArt { opacity:.52; width:33%; }
  body.db9App .db9BoreLine { display:none; }
  body.db9App .db9ArtPin { display:none; }
  body.db9App .db9HeroActions { gap:8px; }
  body.db9App .db9HeroActions .db9Button { padding:10px 12px; font-size:12px; min-height:43px; }
  body.db9App .db9HomeStats { justify-content:space-between; gap:10px; padding:17px 1px 22px; font-size:10px; }
  body.db9App .db9HomeStats > div { gap:5px; }
  body.db9App .db9HomeStats b { font-size:12px; margin-right:1px; }
  body.db9App .db9HomeStats .db9Icon { width:14px; height:14px; flex-basis:14px; }
  body.db9App .db9HomeGrid { display:block; }
  body.db9App .db9Panel { padding:19px; border-radius:17px; }
  body.db9App .db9SectionHead { gap:10px; margin-bottom:15px; }
  body.db9App .db9SectionHead h2 { font-size:16px; }
  body.db9App .db9SectionHead p { font-size:12px; }
  body.db9App .db9SectionHead > .db9Button { font-size:11px; flex:0 0 auto; padding:9px 7px; }
  body.db9App .db9SectionHead > .db9TextButton .db9Icon { width:16px; height:16px; flex-basis:16px; }
  body.db9App .db9HomeAside { margin-top:17px; gap:16px; }
  body.db9App .db9ExploreCard,body.db9App .db9ChallengeCard { padding:21px; }
  body.db9App .db9ExploreCard h2,body.db9App .db9ChallengeCard h2 { font-size:19px; }
  body.db9App .db9Intro { padding:14px; gap:10px; margin-top:20px; }
  body.db9App .db9Intro > span { display:none; }
  body.db9App .db9Intro p { font-size:11px; }
  body.db9App .db9FilterBar { display:block; }
  body.db9App .db9FilterBar .db9Segments { margin-top:12px; width:100%; }
  body.db9App .db9Search { padding:0 12px; }
  body.db9App .db9Search input { font-size:16px; }
  body.db9App .db9LogRow { gap:7px; padding:14px 10px 14px 14px; }
  body.db9App .db9LogOpen { gap:10px; }
  body.db9App .db9LogOpen b { font-size:13px; }
  body.db9App .db9LogOpen span > span { font-size:11px; }
  body.db9App .db9LogOpen small { font-size:10px; }
  body.db9App .db9LogIcon { display:none; }
  body.db9App .db9LogRow > .db9IconButton { width:30px; flex-basis:30px; padding:5px; }
  body.db9App .db9LogMeta { gap:6px; }
  body.db9App .db9Tag { font-size:9px; }
  body.db9App .db9RecentList .db9LogIcon { display:flex; }
  body.db9App .db9RecentList .db9LogMeta { display:none; }
  body.db9App .db9DraftCard { padding:16px; gap:12px; }
  body.db9App .db9DraftIcon { display:none; }
  body.db9App .db9Empty { padding:25px 12px; min-height:226px; }
  body.db9App .db9Empty h3 { font-size:15px; }
  body.db9App .db9Empty p { font-size:12px; }
  body.db9App .db9CommunityTabs { margin-bottom:23px; }
  body.db9App .db9CommunityTabs button { min-height:51px; gap:6px; padding:10px 3px; font-size:12px; }
  body.db9App .db9CommunityTabs .db9Icon { width:16px; height:16px; flex-basis:16px; }
  body.db9App #db9Community .db9PageHead > .db9Button { padding:10px 8px; }
  body.db9App #db9Community .db9PageHead > .db9Button .db9Icon { display:none; }
  body.db9App #db9BoardHost .card { padding:16px; }
  body.db9App .dbcBoardFilters { grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  body.db9App .dbcBoardFilters input { grid-column:1/-1; font-size:16px; }
  body.db9App .dbcBoardFilters select { font-size:14px; }
  body.db9App .dbcPostCard { padding:15px; }
  body.db9App .dbcPostCard h3 { font-size:16px; }
  body.db9App .dbcPostMeta > em { flex-basis:100%; margin-left:36px; }
  body.db9App .db9MemberGrid { grid-template-columns:1fr; gap:13px; }
  body.db9App .db9MemberCard { padding:20px; }
  body.db9App .db9MemberBio { min-height:0; }
  body.db9App .db9ChallengeHead { padding:20px 17px; gap:14px; border-radius:17px; }
  body.db9App .db9ChallengeIcon { width:45px; height:52px; flex-basis:45px; border-radius:13px; }
  body.db9App .db9ChallengeIcon .db9Icon { width:26px; height:26px; flex-basis:26px; }
  body.db9App .db9ChallengeHead .db9Eyebrow { font-size:8px; }
  body.db9App .db9ChallengeHead h2 { font-size:22px; }
  body.db9App .db9ChallengeHead p { font-size:11px; line-height:1.55; }
  body.db9App .db9LeaderboardControls { display:block; }
  body.db9App .db9LeaderboardControls .db9Segments { width:100%; margin-bottom:9px; }
  body.db9App .db9LeaderboardControls > span { display:block; padding:0 2px; font-size:10px; }
  body.db9App .db9ProgressCard { padding:18px; }
  body.db9App .db9ProgressTop h3 { font-size:14px; }
  body.db9App .db9ProgressTop .db9Eyebrow { font-size:8px; }
  body.db9App .db9ProgressNumbers b { font-size:22px; }
  body.db9App .db9ProgressNumbers > span { font-size:10px; }
  body.db9App .db9RankPill { font-size:9px; }
  body.db9App .db9LeaderRow { gap:9px; padding:14px 13px; }
  body.db9App .db9Rank { width:19px; flex-basis:19px; }
  body.db9App .db9LeaderName > b { font-size:12px; }
  body.db9App .db9LeaderName > span { font-size:10px; }
  body.db9App .db9LeaderboardCaption { padding:12px 14px; font-size:9px; }
  body.db9App .db9JoinCard { display:block; padding:21px; }
  body.db9App .db9JoinCard .db9Button { margin-top:16px; }
  body.db9App .db9ToolGrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
  body.db9App .db9ToolOpen { min-height:174px; padding:17px 15px; }
  body.db9App .db9ToolOpen > b { font-size:13px; }
  body.db9App .db9ToolOpen > span:last-child { font-size:10px; }
  body.db9App .db9ToolIcon { margin-bottom:17px; }
  body.db9App .db9PinTool { top:6px; right:4px; }
  body.db9App .db9ToolSection h2 { font-size:16px; }
  body.db9App .db9WorkspaceBar { margin:-8px 0 12px; }
  body.db9App .db9WorkspaceBar .db9Button { font-size:12px; }
  body.db9App .db9StatusPill { font-size:9px; padding:5px 7px; }
  body.db9App .db9EditorHead h1 { font-size:28px; }
  body.db9App .db9EditorHead .db9Button { padding:10px 12px; }
  body.db9App .db9ExploreTabs { flex-wrap:nowrap; gap:6px; margin-bottom:17px; }
  body.db9App .db9ExploreTabs button { flex:1; min-width:0; padding:8px 5px; font-size:10px; line-height:1.3; min-height:43px; }
  body.db9App[data-db9-main="explore"][data-db9-view="map"] .db9Legacy { display:block!important; width:calc(100% - 40px); }
  body.db9App[data-db9-main="explore"][data-db9-view="map"] .db9Toolbar { width:calc(100% - 40px); gap:8px; margin-bottom:15px; }
  body.db9App .db9Toolbar .search { height:47px; padding-left:11px; }
  body.db9App .db9Toolbar .search input { padding:9px 5px; font-size:16px; }
  body.db9App .db9Toolbar .search > button { width:44px; padding:8px 4px; font-size:10px; }
  body.db9App .db9Toolbar #locateBtn { min-height:47px; max-width:76px; padding:8px; font-size:10px; }
  body.db9App .db9Legacy .mapPane { position:relative; top:auto; display:block!important; min-height:285px; height:325px; border-radius:17px; margin-bottom:18px; }
  body.db9App .db9Legacy .intelPane { min-height:0; padding:0; }
  body.db9App .db9Legacy .emptyState { min-height:210px; padding:28px 22px; }
  body.db9App .db9Legacy .emptyState .orb { display:none; }
  body.db9App .db9Legacy .emptyState h1 { font-size:23px; }
  body.db9App .db9Legacy .siteTop { padding:16px; }
  body.db9App .db9Legacy .siteTop h1 { font-size:21px; }
  body.db9App .db9Legacy .card,body.db9App .db9Legacy .heroCard { padding:18px; }
  body.db9App:not([data-db9-view="map"]) .db9Legacy,
  body.db9App[data-db9-main="explore"][data-db9-view="shared"] #db9SharedLegacy,
  body.db9App[data-db9-main="tools"][data-db9-view="field"] #fieldPanel { width:calc(100% - 40px)!important; }
  body.db9App .db9Legacy .twoCol,body.db9App .db9Legacy .planGrid { grid-template-columns:1fr; }
  body.db9App #boredatabase .engGrid.three { grid-template-columns:1fr 1fr; gap:11px; }
  body.db9App #boredatabase .engGrid input { font-size:16px; min-height:45px; }
  body.db9App #boredatabase .engGrid label { font-size:10px; min-width:0; }
  body.db9App #boredatabase .engGrid label:has(#boreSite) { grid-column:1/-1; }
  body.db9App #boredatabase .engGrid label:has(#boreProject) { grid-column:1/-1; }
  body.db9App #boredatabase .engSection > label { font-size:12px; }
  body.db9App #boredatabase .dbFastLog { padding:16px; margin-top:14px; }
  body.db9App #boredatabase .dbFastLog h3 { font-size:18px; }
  body.db9App #boredatabase .dbFastLog p { font-size:11px; }
  body.db9App #boredatabase .dbFastLog textarea { font-size:16px; min-height:117px; }
  body.db9App .db9BoreDetails > summary { padding:15px 17px; }
  body.db9App .db9BoreDetails > summary b { font-size:13px; }
  body.db9App .db9BoreDetails > summary small { font-size:10px; }
  body.db9App .dbcPublishBox { padding:17px; }
  body.db9App .dbcPublishGrid { grid-template-columns:1fr; }
  body.db9App .dbcPublishGrid select { font-size:15px; }
  body.db9App #boreEnvBody td:nth-child(4):before { content:"Media"; }
  body.db9App #boreEnvBody td:nth-child(5):before { content:"PID ppm"; }
  body.db9App #boreEnvBody td:nth-child(6):before { content:"Odour"; }
  body.db9App #boreEnvBody td:nth-child(7):before { content:"Staining"; }
  body.db9App #boreEnvBody td:nth-child(8):before { content:"Asbestos"; }
  body.db9App #boreEnvBody td:nth-child(9):before { content:"Groundwater"; }
  body.db9App #boreEnvBody td:nth-child(10):before { content:"Lab suite"; }
  body.db9App #boreEnvBody td:nth-child(11):before { content:"Notes"; }
  body.db9App #boreEnvBody td:nth-child(12):before { content:""; }
  body.db9App #fieldPanel .fieldGrid > .card.db9ToolVisible { padding:19px; }
  body.db9App .db9Dialog { border-radius:21px; width:calc(100% - 24px); max-height:88vh; max-height:88dvh; }
  body.db9App .db9DialogHead { padding:22px 20px 17px; }
  body.db9App .db9DialogHead h2 { font-size:22px; }
  body.db9App .db9DialogBody { padding:21px 20px max(23px,env(safe-area-inset-bottom)); }
  body.db9App .db9DialogBody input,body.db9App .db9DialogBody select,body.db9App .db9DialogBody textarea { font-size:16px; }
  body.db9App .db9DialogActions { gap:8px; }
  body.db9App .db9DialogActions .db9Button { flex:1; font-size:12px; }
  body.db9App .dbcModalBackdrop { padding:10px; }
  body.db9App .dbcModal { max-width:100%; border-radius:20px; }
  body.db9App .dbcModal input,body.db9App .dbcModal textarea,body.db9App .dbcModal select { font-size:16px; }
  body.db9App .dbcDetailMetrics { grid-template-columns:1fr 1fr; }
  body.db9App .dbcPostActions { flex-wrap:wrap; }
  body.db9App #toast { bottom:calc(84px + env(safe-area-inset-bottom)); }
}
@media (max-width:360px) {
  body.db9App #db9Content { padding-left:16px; padding-right:16px; }
  body.db9App .db9Hero { padding:22px 19px; }
  body.db9App .db9Hero h2 { font-size:26px; }
  body.db9App .db9HomeStats > div:last-child { display:none; }
  body.db9App .db9HomeStats { justify-content:flex-start; gap:24px; }
  body.db9App #db9Nav button { font-size:9px; }
  body.db9App .db9PageHead > .db9Button .db9Icon { display:none; }
  body.db9App .db9ChallengeHead h2 { font-size:20px; }
  body.db9App .db9ToolOpen { padding:16px 13px; }
}
@media (prefers-reduced-motion:reduce) {
  body.db9App *,body.db9App *:before,body.db9App *:after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
@media print {
  body.db9App { padding:0; background:#fff; }
  body.db9App #db9Header,body.db9App #db9Content,body.db9App #db9SiteTabs,body.db9App .db9Toolbar,body.db9App .db9Dialog,body.db9App #db9SharedLegacy { display:none!important; }
  body.db9App #borePrintSheet { color:#111; }
}
