/* Lakeview: quiet community workspace, with a photographic butterfly garden. */
:root { --bg:#0b0d0f; --panel:#111518; --surface:#191e22; --hover:#20272b; --line:#2a3034; --line-soft:#22282c; --text:#edf0f2; --muted:#a6adb3; --faint:#8a949d; }
:root[data-theme="light"] { --bg:#f7f9fa; --panel:#fff; --surface:#eef3f5; --hover:#e6edf0; --line:#d8e0e4; --line-soft:#e3e9ec; --text:#182329; --muted:#52616a; --faint:#65737b; }
body { font-size:15px; line-height:1.6; }
.portal-header { background:var(--bg); }
.portal-header .portal-topbar { min-height:80px; padding-top:16px; padding-bottom:16px; }
.portal-header .portal-topbar .community-logo { width:40px; height:40px; }
.portal-header .portal-topbar .brand-title { font-size:17px; font-weight:650; letter-spacing:-.25px; }
.portal-header .portal-topbar .brand-subtitle { font-size:12px; }
.portal-header .portal-topbar .command-trigger { border-radius:22px; background:var(--panel); }
@media(min-width:601px) and (max-width:1350px) {
  .portal-header .portal-topbar .command-trigger { flex:0 0 44px; width:44px; min-width:44px; max-width:44px; padding:0; justify-content:center; }
  .portal-header .portal-topbar .command-trigger>span,
  .portal-header .portal-topbar .command-trigger>kbd { display:none; }
}
.portal-header .portal-nav-link { font-weight:500; font-size:14px; }
.portal-header .portal-account { border:0; }
.portal-shell .main { max-width:1280px; padding-top:34px; padding-bottom:30px; }
.portal-shell .page-heading h1, .category-heading h1 { font-size:30px; font-weight:650; letter-spacing:-.65px; }
.portal-shell .page-heading p, .portal-shell .page-heading .page-date,
.category-heading>p:not(.eyebrow) { font-size:14px; }
.portal-shell .panel-header h2, .staff-search-panel h2, .preferences-panel>h2,
.map-details h2 { font-size:18px; font-weight:600; letter-spacing:-.2px; }
.portal-shell .log-table .table-member .user-label, .activity-line strong,
.portal-shell .upcoming-copy strong, .category-card-copy>strong { font-weight:600; }
.category-card { border-radius:14px; padding:24px; }
.category-card .shortcut-icon { color:var(--accent); }
.category-card-copy>strong { font-size:17px; }
.category-card-copy>span { font-size:14px; }
.btn, .portal-shell .log-toolbar>.btn { border-radius:9px; }
.btn.primary { border-radius:22px; padding-left:19px; padding-right:19px; }
.portal-shell .workspace-foot { padding-top:30px; font-size:11px; }

/* Log tools keep record browsing and member actions close to the details. */
.record-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 22px; padding:0 0 16px; border-bottom:1px solid var(--line); }
.record-navigation>.btn { flex:0 0 auto; min-height:44px; padding:10px 13px; font-size:13px; }
.record-navigation>span { flex:1; min-width:0; text-align:center; font-size:12px; line-height:1.5; color:var(--muted); }
.record-navigation>span>small { display:block; font-size:11px; }
.record-actions { display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
.record-actions>.btn { min-height:44px; min-width:0; font-size:13px; line-height:1.5; white-space:normal; text-align:center; }
.record-actions>input { width:100%; min-width:0; }
.filter-chips>#clear-all-filters { min-height:44px; padding:4px 8px; }
.channel-load-notice { display:flex; align-items:center; flex-wrap:wrap; gap:4px 10px; flex-basis:100%; min-width:0; font-size:12px; line-height:1.5; color:var(--muted); }
.channel-load-notice[hidden] { display:none; }
.channel-load-notice .text-link { display:inline-flex; align-items:center; min-height:44px; padding:4px 6px; color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:600px) {
  .record-navigation { gap:8px; margin-bottom:20px; }
  .record-navigation>.btn { padding:10px; font-size:13px; }
  .record-navigation>span { font-size:11px; }
  .record-actions>.btn { flex:1 1 150px; }
  .portal-shell .log-table .message-preview,
  .portal-shell .log-table .voice-detail-button,
  .portal-shell .log-table .member-search,
  .portal-shell .log-table button.channel-chip { min-height:44px; }
  .drawer .copy-id { display:inline-flex; align-items:center; min-height:44px; padding:4px 8px; }
}

/* Home is a starting point. Detailed feeds stay in their own sections. */
.portal-header .portal-nav-link>svg { display:block; width:17px; height:17px; opacity:.8; }
.portal-header .portal-nav-link { gap:8px; }
.portal-header .portal-nav-link.active>svg { opacity:1; color:var(--accent); }
.home-duty-layout { display:grid; grid-template-columns:minmax(280px,.85fr) minmax(0,1.55fr); gap:22px; align-items:start; }
.home-duty-layout>.home-schedule { min-width:0; border:1px solid var(--line); border-radius:12px; padding:20px; background:var(--panel); }
.home-duty-layout .section-heading { flex-wrap:wrap; gap:12px; margin-bottom:15px; }
.home-duty-layout .section-heading h2 { font-size:16px; }
.home-duty-layout .section-actions { gap:16px; }
.home-duty-layout .home-meetings { display:block; }
.home-duty-layout .home-meetings .upcoming-meeting { width:100%; border-right:0; padding:14px 0; }
.home-duty-layout .home-meetings .upcoming-meeting+.upcoming-meeting { border-top:1px solid var(--line); }
@media(max-width:820px) { .home-duty-layout { grid-template-columns:minmax(0,1fr); gap:18px; } }
.community-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin:3px 0 33px; }
.community-heading-copy { min-width:0; }
.community-heading-copy>p { font-size:14px; color:var(--muted); margin-bottom:8px; }
.community-heading h1 { font-size:32px; font-weight:650; line-height:1.3; letter-spacing:-.7px; }
.community-heading .home-status { margin:12px 0 0; font-size:12px; color:var(--faint); }
.community-heading .home-status[data-connected="true"] { color:var(--accent); }
.community-heading-tools { display:flex; align-items:center; gap:15px; color:var(--muted); font-size:13px; flex-shrink:0; }
.community-heading-tools .icon-btn { border:1px solid var(--line); border-radius:50%; }
.home-destinations { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:36px; }
.destination-group { border:1px solid var(--line); border-radius:16px; background:var(--panel); padding:26px; transition:border-color 180ms; }
.destination-group:hover { border-color:var(--accent-line); }
.destination-heading { display:flex; align-items:center; gap:15px; margin-bottom:22px; }
.destination-symbol { display:grid; place-items:center; width:46px; height:46px; flex-shrink:0; border-radius:12px; background:var(--accent-soft); color:var(--accent); }
.destination-symbol>svg { width:23px; height:23px; }
.destination-heading h2 { font-size:19px; font-weight:600; letter-spacing:-.3px; }
.destination-heading p { margin-top:5px; color:var(--muted); font-size:13px; line-height:1.6; }
.destination-links { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.destination-links>a { display:flex; align-items:center; gap:9px; min-width:0; min-height:48px; padding:11px 13px; border:1px solid var(--line); border-radius:9px; font-size:14px; font-weight:500; transition:background 150ms,border-color 150ms,color 150ms; }
.destination-links>a>svg { width:17px; height:17px; color:var(--muted); }
.destination-links>a>svg:last-child { width:14px; margin-left:auto; transition:transform 150ms; }
.destination-links>a:hover { background:var(--accent-soft); border-color:var(--accent-line); color:var(--accent); }
.destination-links>a:hover>svg { color:var(--accent); }
.destination-links>a:hover>svg:last-child { transform:translateX(2px); }
.section-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.section-heading h2 { font-size:19px; font-weight:600; letter-spacing:-.25px; }
.section-heading p { font-size:13px; color:var(--muted); margin-top:5px; }
.section-actions { display:flex; align-items:center; gap:23px; }
.section-heading .text-link { font-size:13px; font-weight:500; }
.home-schedule { padding-bottom:28px; border-bottom:1px solid var(--line); }
.home-meetings { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.home-meetings .upcoming-meeting { padding:14px 20px 14px 0; gap:15px; border:0; border-right:1px solid var(--line); border-radius:0; }
.home-meetings .upcoming-meeting:last-child { border-right:0; }
.home-meetings .upcoming-meeting:hover { background:transparent; }
.home-meetings .upcoming-meeting:hover .upcoming-copy strong { color:var(--accent); }
.home-meetings .meeting-date { border:1px solid var(--line); background:var(--panel); border-radius:10px; min-width:48px; padding:8px 6px; align-items:center; }
.home-meetings .meeting-date strong { font-size:23px; font-weight:600; }
.home-meetings .meeting-date>span { font-size:10px; font-weight:500; }
.home-meetings .upcoming-copy strong { font-size:14px; font-weight:600; }
.home-meetings .upcoming-copy>span { font-size:12px; }
.home-meetings .upcoming-meeting>svg { display:none; }
.home-meetings>.empty-state, .home-meetings>.home-load-error, .home-meetings>.panel-placeholder { grid-column:1/-1; }
.home-meetings .empty-state { padding:20px 0; text-align:left; }
.home-meetings .empty-state>svg { display:none; }
.home-meetings .empty-state p { margin:0; max-width:none; }
.home-recent { padding-top:29px; }
.home-recent .section-heading { margin-bottom:9px; }
.home-recent .home-record { padding:17px 0; gap:13px; background:none; align-items:flex-start; }
.home-recent .home-record:hover { background:var(--panel); }
.home-recent .home-record-copy strong { font-size:14px; font-weight:600; }
.home-recent .home-record-channel { font-size:12px; }
.home-recent .home-record-detail { font-size:14px; line-height:1.6; }
.home-recent .home-record>time { font-size:11px; }
.home-recent .home-record:last-child { border-bottom:1px solid var(--line-soft); }

/* Public entrance: the image provides the setting, controls remain real HTML. */
.night-entrance.login-page { position:relative; isolation:isolate; min-height:100svh; background:#000; color:#f8f8fa; overflow:hidden; }
.night-entrance .entrance-art { position:absolute; z-index:-3; inset:0; background:url('/assets/butterfly-shed.png?v=20261101-clean2') center bottom / cover no-repeat; animation:entrance-reveal 1200ms ease-out both; pointer-events:none; }
.night-entrance .entrance-light { position:absolute; z-index:-2; inset:0; pointer-events:none; background:radial-gradient(ellipse at 88% 64%,#dfad6509,transparent 18%); animation:lantern-breathe 11s ease-in-out infinite; }
.night-entrance .login-header { position:relative; z-index:3; min-height:76px; padding:20px 28px; align-items:flex-start; }
.night-entrance .login-header .community-logo { width:39px; height:39px; }
.night-entrance .login-header .brand-title { font-size:14px; font-weight:600; color:#eee; letter-spacing:0; }
.night-entrance .login-header .brand-subtitle { font-size:11px; color:#9da7ac; margin-top:2px; }
.night-entrance .login-content { position:relative; z-index:2; flex:none; display:flex; flex-direction:column; align-items:center; width:calc(100% - 40px); max-width:440px; margin:clamp(100px,24svh,250px) auto 0; padding:0 0 180px; text-align:center; animation:entrance-copy 700ms ease-out both; }
.night-entrance .login-identity { text-align:center; }
.night-entrance .login-identity h1 { font-size:28px; font-weight:650; line-height:1.3; letter-spacing:-.6px; color:#f8f8fa; margin:0; }
.night-entrance .login-community { font-size:15px; color:#a9b1b7; line-height:1.6; margin:9px 0 0; }
.night-entrance .login-content .discord-login { min-height:53px; width:284px; max-width:100%; margin:25px 0 0; padding:14px 22px; align-self:center; background:#fff; color:#15191e; border:1px solid #fff; border-radius:30px; font-size:14px; font-weight:600; box-shadow:0 3px 18px #0005; transition:transform 180ms,background 180ms,box-shadow 180ms; }
.night-entrance .discord-login>svg { width:21px; height:21px; }
.night-entrance .login-content .discord-login:hover { background:#e6faff; border-color:#e6faff; opacity:1; transform:translateY(-2px); box-shadow:0 5px 22px #7cdbed1f; }
.night-entrance .login-content .discord-login:active { transform:translateY(0) scale(.98); }
.night-entrance .login-content .login-notice { margin-top:20px; border-color:#ffffff28; background:#090e12ed; color:#c6cdd2; font-size:13px; text-align:left; border-radius:10px; }
.night-entrance :focus-visible { outline-color:#67d0e4; }

/* Distant garden haze and dust in the warm doorway light. */
.entrance-fog { position:absolute; pointer-events:none; z-index:-1; background:url('/assets/ground-mist.svg') center / 100% 100% no-repeat; mask-image:radial-gradient(ellipse,#000 15%,#0009 45%,transparent 72%); }
/* Distant moisture near the planting and threshold, never a foreground veil. */
.fog-far { left:60%; width:42%; height:14%; bottom:24%; opacity:.075; filter:blur(4px); animation:fog-drift-far 67s ease-in-out -17s infinite alternate; }
.fog-near { left:78%; width:23%; height:17%; bottom:16%; opacity:.05; filter:blur(3px); animation:fog-drift-near 83s ease-in-out -26s infinite alternate; }
.entrance-dust { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; opacity:.5; mask-image:radial-gradient(ellipse at 88% 63%,#000 0%,#0008 14%,transparent 31%); }
.dust-mote { position:absolute; left:var(--x); top:var(--y); width:var(--mote-size); height:var(--mote-size); border-radius:50%; background:#cdb28b; opacity:0; animation:dust-drift var(--dust-time) ease-in-out var(--dust-delay) infinite; }
.dust-mote:nth-child(6n) { filter:blur(.8px); }
@keyframes entrance-reveal { from {opacity:0} to {opacity:1} }
@keyframes entrance-copy { from {opacity:0;transform:translateY(8px)} to {opacity:1;transform:translateY(0)} }
@keyframes lantern-breathe { 0%,100% {opacity:.45} 50% {opacity:.8} }
@keyframes fog-drift-far { from {transform:translate(-3%,1%) scale(1)} to {transform:translate(4%,-2%) scale(1.04)} }
@keyframes fog-drift-near { from {transform:translate(2%,2%) scale(1.03)} to {transform:translate(-3%,-1%) scale(1)} }
@keyframes dust-drift {
  0% { transform:translate(0,0); opacity:0; }
  22%,65% { opacity:var(--dust-alpha); }
  100% { transform:translate(var(--drift),calc(0px - var(--rise))); opacity:0; }
}
@media(max-width:900px) {
  .destination-links { grid-template-columns:1fr; }
  .community-heading { align-items:flex-start; }
  .community-heading-tools>span { display:none; }
  .home-meetings { gap:15px; }
  .home-meetings .upcoming-meeting { padding-right:10px; gap:10px; }
}
@media(max-width:700px) {
  .portal-shell .main { padding-top:27px; }
  .community-heading { margin-bottom:25px; gap:10px; }
  .community-heading h1 { font-size:27px; letter-spacing:-.6px; }
  .community-heading-copy>p { font-size:13px; }
  .home-destinations { grid-template-columns:1fr; gap:16px; margin-bottom:30px; }
  .destination-group { padding:21px; }
  .destination-heading { margin-bottom:19px; }
  .destination-links { grid-template-columns:1fr 1fr; gap:9px; }
  .destination-links>a { padding:11px 10px; font-size:13px; gap:7px; }
  .destination-links>a>svg:last-child { display:none; }
  .section-heading { align-items:flex-start; flex-wrap:wrap; gap:14px; }
  .section-actions { width:100%; justify-content:space-between; }
  .home-meetings { grid-template-columns:1fr; gap:0; }
  .home-meetings .upcoming-meeting { border-right:0; border-bottom:1px solid var(--line-soft); padding:18px 0; gap:15px; }
  .home-meetings .upcoming-meeting:last-child { border-bottom:0; }
  .home-recent .home-record-detail { font-size:14px; }
  .night-entrance .entrance-art { background-size:auto 70%; background-position:right bottom; }
  .night-entrance .login-header { padding:17px; gap:10px; }
  .night-entrance .login-header .brand-title { font-size:12px; }
  .night-entrance .login-header .brand-subtitle { font-size:10px; }
  .night-entrance .login-header .community-logo { width:32px; height:32px; }
  .night-entrance .login-content { margin-top:clamp(80px,14svh,150px); padding-bottom:420px; }
  .night-entrance .login-identity h1 { font-size:24px; letter-spacing:-.4px; }
  .night-entrance .login-community { font-size:14px; }
  .fog-far { left:12%; width:92%; height:10%; bottom:24%; opacity:.06; }
  .fog-near { left:52%; width:50%; height:12%; bottom:16%; opacity:.04; }
  .entrance-dust { mask-image:radial-gradient(ellipse at 69% 70%,#000 0%,#0007 16%,transparent 38%); }
  .dust-mote { left:var(--mobile-x); }
}
@media(prefers-reduced-motion:reduce) {
  .night-entrance .entrance-dust { display:none; }
  .night-entrance .entrance-fog, .night-entrance .entrance-light { animation:none; }
  .night-entrance .fog-far { opacity:.035; }
  .night-entrance .fog-near { opacity:.03; }
}
/* Readable Discord rich logs and compact filter controls. */
.message-author-filter { width:155px; min-width:120px; }
.message-embed { padding:16px; margin:14px 0; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:7px; overflow-wrap:anywhere; }
.message-embed>strong { font-size:15px; }
.message-embed p,.message-component p { white-space:pre-wrap; font-size:13px; line-height:1.7; margin:7px 0 13px; }
.message-embed>div { margin:14px 0; }
.message-embed>div>strong { font-size:12px; color:var(--muted); }
.message-component { margin:12px 0; }
.message-component .btn { min-height:42px; }
@media (max-width:760px) {
  .portal-shell .log-toolbar:has(#author-filter) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .portal-shell .log-toolbar:has(#author-filter)>.search-wrap,
  .portal-shell .log-toolbar:has(#author-filter)>#content-type-filter,
  .portal-shell .log-toolbar:has(#author-filter)>.channel-load-notice { grid-column:1/-1; }
  .portal-shell .log-toolbar:has(#author-filter)>.filter-select,
  .portal-shell .log-toolbar:has(#author-filter)>.btn { width:100%; min-width:0; max-width:100%; padding-left:10px; padding-right:10px; }
}

/* Full-width workspace. Keep controls comfortable; spend less space on framing. */
.portal-header .portal-topbar,
.portal-header .portal-nav,
.portal-header .category-subnav,
.portal-shell .main { max-width:none; width:100%; margin-left:0; margin-right:0; padding-left:clamp(16px,2vw,40px); padding-right:clamp(16px,2vw,40px); }
.portal-header .portal-topbar { min-height:72px; padding-top:10px; padding-bottom:10px; gap:24px; }
.portal-header .portal-nav { padding-bottom:0; gap:20px; }
.portal-header .portal-nav-link { min-height:44px; padding-top:9px; padding-bottom:9px; }
.portal-header .category-subnav { background:var(--panel); gap:12px; }
.portal-header .category-subnav-link { min-height:44px; padding-top:8px; padding-bottom:8px; font-size:13px; }
.portal-shell .main { padding-top:22px; padding-bottom:20px; }
.portal-shell .page-heading, .category-heading { margin-bottom:18px; }
.portal-shell .page-heading h1, .category-heading h1, .community-heading h1 { font-size:26px; letter-spacing:-.5px; line-height:1.3; }
.portal-shell .page-heading .page-date, .category-heading>p:not(.eyebrow) { margin-top:4px; font-size:13px; }
.portal-shell .preview-banner { padding:7px 12px; margin-bottom:16px; font-size:12px; border-radius:6px; }
.portal-shell .workspace-foot { padding-top:18px; }
.portal-shell .panel-header { padding:14px 18px; }
.portal-shell .panel-header h2, .section-heading h2 { font-size:16px; }
.portal-shell .stats-grid { margin-bottom:18px; gap:12px; }
.portal-shell .stat-card, .portal-shell .stat-card:first-child { padding:14px 18px; }
.portal-shell .stat-number { font-size:28px; margin:5px 0 3px; }
.portal-shell .stat-top, .portal-shell .stat-bottom { font-size:12px; }
.portal-shell .overview-grid { gap:18px; grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr); }
.portal-shell .activity-row { padding:12px 18px; }
.portal-shell .activity-line, .portal-shell .activity-excerpt { font-size:13px; }
.portal-shell .upcoming-meeting { padding:14px 18px; }
.portal-shell .upcoming-copy strong { font-size:14px; }
.community-heading { margin:0 0 22px; }
.community-heading-copy>p { margin-bottom:3px; font-size:13px; }
.community-heading .home-status { margin-top:6px; }
.home-destinations { gap:16px; margin-bottom:22px; }
.destination-group { padding:18px; border-radius:10px; }
.destination-heading { gap:12px; margin-bottom:14px; }
.destination-heading h2 { font-size:16px; }
.destination-symbol { width:36px; height:36px; border-radius:9px; }
.destination-symbol>svg { width:20px; height:20px; }
.destination-links { gap:8px; }
.destination-links>a { min-height:44px; padding:9px 12px; }
.section-heading { margin-bottom:12px; }
.home-schedule { padding-bottom:16px; }
.home-recent { padding-top:18px; }
.home-recent .home-record { padding:11px 0; }
.home-recent .home-record-detail { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13px; margin-top:2px; }
.category-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:12px; margin-bottom:20px; }
.category-card { min-height:80px; padding:15px 18px; border-radius:10px; }
.category-card-copy>strong { font-size:15px; }
.category-card-copy>span { font-size:13px; line-height:1.5; }
.staff-search-panel { padding:18px; }
#staff-search-form { margin-top:14px; }
.portal-shell .log-toolbar { padding:12px 16px; gap:10px; }
.portal-shell .log-toolbar .search-wrap { min-width:0; }
.advanced-log-filters { display:flex; flex-wrap:wrap; align-items:center; gap:10px; width:100%; padding-top:12px; border-top:1px solid var(--line); }
.advanced-log-filters .channel-load-notice { width:100%; }
#filter-count:not(:empty) { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 5px; border-radius:5px; color:var(--accent); background:var(--accent-soft); font-size:11px; }
.portal-shell .log-summary { padding:10px 16px; font-size:12px; }
.portal-shell .filter-chips { padding:0 16px; gap:6px; }
.portal-shell .filter-chips:not(:empty) { padding-top:8px; padding-bottom:8px; }
.portal-shell .filter-chip { min-height:36px; padding:6px 9px; }
.portal-shell .log-table th { padding:11px 16px; }
body[data-density="compact"] .portal-shell .log-table td { padding:7px 16px; }
body[data-density="compact"] .portal-shell .log-table .member-search { display:none; }
body[data-density="compact"] .portal-shell .message-preview { -webkit-line-clamp:1; line-clamp:1; font-size:14px; line-height:1.5; }
body[data-density="compact"] .portal-shell .log-table .table-member .user-label { font-size:14px; }
body[data-density="compact"] .portal-shell .table-member .avatar { width:30px; height:30px; font-size:11px; }
body[data-density="compact"] .portal-shell .log-table .voice-detail-button { min-height:44px; text-align:left; }
body[data-density="compact"] .portal-shell .attachment-preview { font-size:12px; line-height:1.4; }
.portal-shell .table-pagination { padding:12px 16px; }
.record-metadata { border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin:20px 0; }
.record-metadata summary { min-height:44px; padding:11px 0; color:var(--muted); font-size:13px; cursor:pointer; }
.record-metadata[open] summary { color:var(--text); }
.record-metadata .drawer-meta { margin:12px 0 20px; }
summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; border-radius:5px; }
@media(min-width:1800px) {
  .home-destinations { grid-template-columns:1fr 1fr; }
  .home-meetings { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:900px) {
  .portal-shell .overview-grid { grid-template-columns:1fr; }
  .portal-header .portal-topbar { gap:12px; }
}
@media(max-width:600px) {
  .portal-shell .main { padding-top:18px; }
  .portal-header .portal-topbar { padding-top:12px; padding-bottom:10px; }
  .portal-header .portal-nav, .portal-header .category-subnav { gap:12px; }
  .portal-shell .page-heading h1, .category-heading h1, .community-heading h1 { font-size:24px; }
  .home-destinations { grid-template-columns:1fr; gap:12px; }
  .community-heading { align-items:flex-start; margin-bottom:18px; }
  .portal-shell .log-toolbar:has(#author-filter) { display:flex; }
  .advanced-log-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .portal-shell .advanced-log-filters>.filter-select { min-width:0; max-width:none; width:100%; font-size:13px; }
  .advanced-log-filters .channel-load-notice { grid-column:1/-1; }
  .advanced-log-filters>.btn { padding-left:8px; padding-right:8px; font-size:13px; }
  .portal-shell .log-toolbar>#filter-toggle { flex:0 0 auto; }
  .portal-shell .log-toolbar>.search-wrap { flex:1; }
  .portal-shell .stats-grid { gap:6px; }
  .portal-shell .stat-card, .portal-shell .stat-card:first-child { padding:12px; }
  .portal-shell .stat-number { font-size:24px; }
}
body[data-density="compact"] .portal-shell .log-date+.log-time { margin-left:7px; }
.feed-entry { position:relative; }
.feed-open { position:absolute; inset:0; width:100%; height:100%; z-index:1; border-radius:inherit; }
.feed-open:focus-visible { outline-offset:-3px; }
.feed-entry .profile-link { position:relative; z-index:2; }
/* Header tools remain reachable while their nonmodal drawer is open. */
.header-panel-open .portal-header { position:relative; z-index:72; }
.header-panel-open .drawer { top:var(--header-panel-top, 172px); }
@media(max-width:600px) {
  .portal-header .portal-topbar .command-trigger { flex:0 0 44px; width:44px; height:44px; margin-left:0; padding:0; justify-content:center; }
  .portal-header .command-trigger>span, .portal-header .command-trigger>kbd { display:none; }
  .portal-header .portal-actions { gap:5px; margin-left:auto; }
}
