[hidden] { display:none!important; }
.footer-brand { display:inline-flex; align-items:baseline; flex-wrap:wrap; gap:8px; }
.footer-subtitle { font-weight:500; letter-spacing:0; }
.footer-preview { padding:18px; background:#f5f7fb; border:1px solid var(--line); border-radius:10px; grid-column:1/-1; }
.admin-tabs { display:flex; gap:8px; padding:0 0 16px; }
.admin-tabs button { border:1px solid var(--line); border-radius:9px; background:white; padding:10px 18px; font:inherit; cursor:pointer; }
.admin-tabs button[aria-selected=true] { background:#2459e0; color:white; border-color:#2459e0; }
.analytics-tools,.board-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:12px 0 20px; }
.analytics-tools select,.board-dialog select { padding:9px; border:1px solid var(--line); border-radius:8px; background:white; font:inherit; }
.metric-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.metric { border:1px solid var(--line); border-radius:12px; padding:18px; background:#f8faff; }
.metric strong { display:block; font-size:26px; margin-top:8px; color:var(--ink); }
.analytics-table { width:100%; border-collapse:collapse; margin:12px 0 24px; }
.analytics-table th,.analytics-table td { padding:11px 8px; text-align:left; border-bottom:1px solid var(--line); }
.board-dialog { width:min(760px,calc(100% - 24px)); max-height:90dvh; border:1px solid var(--line); border-radius:18px; padding:24px; color:var(--ink); }
.board-dialog::backdrop { background:rgba(15,25,45,.45); }
.board-dialog .settings-heading { position:sticky; top:-24px; background:white; z-index:1; padding:12px 0; }
.board-dialog h2 { margin:0; font-size:22px; }
.board-dialog label { display:grid; gap:7px; margin:12px 0; font-size:14px; }
.board-dialog textarea { min-height:110px; }
.board-post { border:1px solid var(--line); border-radius:12px; padding:15px; margin:12px 0; }
.board-post summary { cursor:pointer; line-height:1.6; }
.board-post summary strong { display:block; overflow-wrap:anywhere; }
.board-meta { font-size:12px; color:var(--muted); }
.board-copy { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.7; }
.board-reply { padding:12px; background:#f5f7fb; border-radius:8px; }
.board-feedback { color:var(--blue); }
.board-compose { padding:16px; background:#f7f9fd; border:1px solid var(--line); border-radius:12px; }
.topbar { gap:12px; flex-wrap:wrap; }.topbar .brand { margin-right:auto; }
@media(max-width:600px) { .metric-grid { grid-template-columns:repeat(2,1fr); }.board-dialog{padding:16px;}.board-dialog .settings-heading{top:-16px;}.metric{padding:12px;}.metric strong{font-size:22px;} }
.board-dialog.board-page { width:100%; max-height:none; border:0; border-radius:0; padding:0 0 32px; margin:0; }
.board-page .settings-heading { position:static; background:transparent; padding:8px 0; }
.board-columns { display:flex; justify-content:space-between; gap:16px; padding:14px 18px; background:#edf2fa; border-top:2px solid #cbd5e5; border-bottom:1px solid var(--line); font-size:13px; color:var(--muted); }
.board-page #board-list { min-height:220px; border-bottom:1px solid #cbd5e5; }
.board-empty { min-height:220px; display:grid; place-items:center; text-align:center; padding:30px; color:var(--muted); background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,#e9edf4 54px,#e9edf4 55px); }
.board-page .board-post { margin:0; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:18px; }

.board-page .board-toolbar { align-items:flex-end; }
.board-page .board-toolbar > label { margin:0; }
.board-page .board-toolbar > button, .board-page .board-toolbar select { height:44px; min-height:44px; box-sizing:border-box; }
.board-modes { display:flex; gap:8px; margin-right:auto; }
.board-modes button[aria-pressed=true] { color:#2459e0; border-color:#2459e0; background:#edf2ff; }
.comments { border-top:1px solid var(--line); padding-top:12px; margin-top:20px; }
.comments h3 { font-size:16px; }
.comment-row { padding:12px 0; border-bottom:1px solid var(--line); }
.comment-row .board-copy { margin:6px 0; }
#site-text-fields .footer-half-size { align-self:end; height:44px; min-height:44px; padding:0 14px; font-size:14px; line-height:1.3; }
.board-page .board-pagination { align-items:center; }
.board-pagination #board-page { display:flex; align-items:center; justify-content:center; height:44px; min-width:60px; line-height:1; }
#feedback-target { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media(max-width:500px) { #feedback-target { grid-template-columns:1fr; gap:0; } }
.app-carousel { position:relative; }
.app-carousel .grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.app-carousel .card { min-height:190px; padding:18px; }
.app-carousel .card h3 { font-size:18px; }
.app-carousel .card .description { font-size:13px; }
.app-carousel.has-pages { padding:0 38px; }
.app-arrow { position:absolute; top:50%; transform:translateY(-50%); width:32px; height:48px; padding:0; border:1px solid var(--line); border-radius:10px; background:white; color:var(--blue); font-size:32px; cursor:pointer; }
#apps-prev { left:0; } #apps-next { right:0; }
.app-arrow:disabled { opacity:.3; cursor:default; }
.app-arrow:focus-visible { outline:3px solid #2459e0; outline-offset:2px; }
.apps-page { text-align:center; font-size:13px; color:var(--muted); margin:12px 0 0; min-height:18px; }
@media(max-width:1050px){.app-carousel .grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){.app-carousel .grid{grid-template-columns:1fr;}.app-carousel.has-pages{padding:0 32px;}.app-arrow{width:27px;}}
.app-carousel .icon { width:38px; height:38px; border-radius:10px; }
.app-carousel .card > .card-top { margin-bottom:6px; }
.app-carousel .description { margin-bottom:8px; line-height:1.5; }
.app-carousel .card-bottom { padding-top:7px; }
/* Stable paging controls: reserve the same rows on every page. */
.app-carousel .grid { grid-auto-rows:250px; min-height:250px; align-content:start; }
.app-carousel .card { min-height:0; }
.app-carousel.has-pages { padding-inline:48px; }
.app-arrow { width:44px; height:64px; border:0; border-radius:0; background:transparent; box-shadow:none; font-size:60px; line-height:1; opacity:0; transition:opacity .15s,color .15s; z-index:2; }
.app-arrow:hover,.app-arrow:active { background:transparent; box-shadow:none; }
.app-carousel:hover .app-arrow,.app-carousel:focus-within .app-arrow { opacity:1; }
.app-carousel:hover .app-arrow:disabled,.app-carousel:focus-within .app-arrow:disabled { opacity:.2; }
.app-arrow[hidden] { display:none; }
@media(min-height:900px) { .app-carousel .grid { min-height:516px; } }
@media(hover:none) { .app-arrow { opacity:1; }.app-arrow:disabled { opacity:.2; } }
@media(max-width:600px) { .app-carousel.has-pages { padding-inline:40px; }.app-arrow { width:36px; font-size:54px; } }
