.solo-board {
    --board-ink: #182233;
    --board-muted: #647083;
    --board-line: #e6e8ed;
    --board-blue: #3559ff;
    width: min(100% - 2rem, 1100px);
    margin: 0 auto;
    padding: 2rem 0 4rem;
    color: var(--board-ink);
    overflow-wrap: anywhere;
}
.solo-board-index { box-sizing: border-box; width: 100%; max-width: 1280px; padding: 1.5rem 1rem 4rem; }
.board-index-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "intro compose" "search search"; align-items: center; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--board-line); }
.board-index-intro { grid-area: intro; min-width: 0; }
.board-index-header .board-search { grid-area: search; position: relative; max-width: none; }
.board-index-header .board-search input { height: 46px; padding-right: 3.25rem; }
.board-index-header .board-search button { position: absolute; top: 1px; right: 1px; width: 44px; height: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; }
.board-index-compose { grid-area: compose; height: 46px; white-space: nowrap; }
.solo-board-index .board-heading { margin: 0; font-size: 1.5rem; line-height: 2rem; font-weight: 900; letter-spacing: -.035em; }
.solo-board *, .solo-board *::before, .solo-board *::after { box-sizing: border-box; }
.solo-board a { color: inherit; }
.solo-board button, .solo-board input, .solo-board textarea, .solo-board select { font: inherit; }
.solo-board button, .solo-board a, .solo-board input, .solo-board textarea, .solo-board select { -webkit-tap-highlight-color: transparent; }
.solo-board :focus-visible { outline: 3px solid #7590ff; outline-offset: 3px; }
.solo-board button, .solo-board input, .solo-board textarea, .solo-board select { scroll-margin-top: 6rem; scroll-margin-bottom: calc(7rem + env(safe-area-inset-bottom)); }
.solo-board [hidden] { display: none !important; }
.board-kicker { margin: 0 0 .5rem; color: var(--board-blue); font-size: .8rem; font-weight: 800; letter-spacing: .02em; }
.board-heading { margin: 0; font-size: clamp(1.8rem, 4.5vw, 2.7rem); font-weight: 850; letter-spacing: -.055em; line-height: 1.25; }
.board-description { margin: .7rem 0 0; color: #657083; font-size: .95rem; line-height: 1.6; }
.board-heading-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; }
.board-heading-row > div { flex: 1 1 16rem; min-width: 0; }
.board-btn { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: .45rem; padding: .65rem 1.05rem; border: 1px solid var(--board-line); border-radius: .8rem; background: #fff; color: var(--board-ink); font-weight: 750; font-size: .9rem; text-decoration: none; cursor: pointer; }
.solo-board .board-btn-primary { border-color: var(--board-blue); background: var(--board-blue); color: #fff; }
.solo-board .board-btn-soft { border-color: #e0e5ff; background: #eff2ff; color: #3151da; }
.solo-board .board-btn-danger { color: #d13c4e; border-color: #f3d6da; }
.board-btn:disabled { opacity: .5; cursor: not-allowed; }
.board-btn svg { width: 18px; height: 18px; flex: none; }
.board-nav { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1.75rem 0 1.25rem; padding-bottom: 1rem; border-bottom: 1px solid var(--board-line); }
.board-nav a { min-height: 44px; display: flex; align-items: center; gap: .45rem; padding: .6rem .95rem; border-radius: .7rem; color: var(--board-muted); font-size: .9rem; font-weight: 750; text-decoration: none; }
.board-nav a[aria-current="page"] { background: #e9edff; color: #294bed; }
.board-tools { display: flex; justify-content: flex-end; padding: .75rem 0 .25rem; }
.board-search { display: flex; width: 100%; min-width: 0; gap: .5rem; }
.board-search input { width: 100%; min-width: 0; min-height: 46px; padding: .65rem .85rem; border: 1px solid var(--board-line); border-radius: .8rem; background: #fff; color: var(--board-ink); }
.board-topics { display: grid; grid-template-columns: repeat(3, minmax(max-content, 1fr)); grid-template-rows: repeat(2, 44px); gap: .25rem; min-width: 0; max-width: 100%; margin: 1rem 0 .25rem; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scrollbar-width: thin; }
.board-topic { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: .5rem .25rem; border: 1px solid var(--board-line); border-radius: 1.5rem; background: #fff; color: var(--board-muted); font-size: .85rem; font-weight: 650; line-height: 1.4; text-decoration: none; white-space: nowrap; }
.solo-board .board-topic[aria-current="page"] { border-color: #9eafff; background: #edf1ff; color: #294bed; font-weight: 800; }
.board-topic:hover { border-color: #aebbd7; }
.board-topic:focus-visible { outline-offset: -3px; }
.board-list-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .75rem 0; }
.board-result-count { color: var(--board-muted); font-size: .85rem; }
.board-sort { display: flex; gap: .2rem; }
.board-sort a { display: inline-flex; min-height: 44px; align-items: center; padding: .6rem .75rem; font-size: .85rem; font-weight: 700; text-decoration: none; color: var(--board-muted); }
.board-sort a[aria-current="page"] { color: var(--board-blue); }
.board-list { margin: 0; padding: 0; list-style: none; background: #fff; border: 1px solid var(--board-line); border-radius: 1.1rem; overflow: hidden; }
.board-list > li + li { border-top: 1px solid #edf0f3; }
.board-post-link { display: flex; align-items: center; gap: .9rem; min-height: 125px; padding: 1.1rem; text-decoration: none; }
.board-post-link:hover { background: #fafbfe; }
.board-post-copy { flex: 1 1 auto; min-width: 0; }
.board-category-label { display: inline-block; color: #4261d5; font-size: .75rem; font-weight: 750; }
.board-post-title { margin: .35rem 0 .3rem; font-size: 1.05rem; font-weight: 800; letter-spacing: -.025em; line-height: 1.4; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.board-comment-count { margin-left: .35rem; color: var(--board-blue); font-size: .88rem; white-space: nowrap; }
.board-post-excerpt { margin: 0; color: #657083; font-size: .85rem; line-height: 1.5; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.board-post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .75rem; margin-top: .65rem; color: var(--board-muted); font-size: .75rem; line-height: 1.5; }
.board-post-meta .board-author { color: #4b576a; font-weight: 650; }
.board-thumbnail { width: 72px; height: 72px; flex: none; border-radius: .7rem; background: #edf0f5; overflow: hidden; }
.board-thumbnail img { width: 100%; height: 100%; object-fit: cover; }
.board-list-header, .board-post-row { display: flex; flex-wrap: nowrap; align-items: center; min-width: 0; gap: .65rem; padding: .7rem 1rem; }
.board-list-header { display: none; color: #667388; font-size: .8rem; font-weight: 650; }
.board-post-row { min-height: 56px; text-decoration: none; }
.board-post-row:hover { background: #fafbfe; }
.board-post-row[aria-current="page"] { background: #edf1ff; color: #294bed; border-inline-start: 3px solid #3559ff; padding-inline-start: calc(1rem - 3px); }
.board-row-main { display: flex; align-items: center; gap: .4rem; flex: 1 1 auto; min-width: 0; }
.board-row-title { flex: 0 1 auto; min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1rem; line-height: 1.45; font-weight: 750; letter-spacing: -.025em; }
.board-post-row .board-comment-count { flex: none; margin: 0; font-size: .85rem; }
.board-row-attachment { display: inline-flex; flex: none; align-items: center; justify-content: center; color: var(--board-muted); }
.board-row-attachment svg { width: 17px; height: 17px; }
.board-row-category, .board-row-author, .board-row-date, .board-row-views, .board-row-likes { display: none; flex: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .8rem; }
.board-row-category { width: 76px; color: #4261d5; font-weight: 650; }
.board-row-author { display: block; width: 60px; color: #58657b; }
.board-row-date { width: 84px; color: var(--board-muted); text-align: center; }
.board-row-views, .board-row-likes { width: 58px; color: var(--board-muted); text-align: right; }
.board-identity-note { color: #58677e; font-size: .9rem; line-height: 1.6; }
.board-anonymous-option { margin-bottom: .6rem; }
.board-checkbox-label { display: flex; align-items: center; gap: .65rem; min-height: 44px; width: fit-content; max-width: 100%; font-size: .9rem; font-weight: 700; color: #344154; cursor: pointer; }
.board-checkbox-label input[type="checkbox"] { flex: none; width: 20px; height: 20px; min-height: 20px; margin: 0; padding: 0; accent-color: #315bff; cursor: pointer; }
.board-anonymous-option .board-note { margin: .35rem 0 .75rem; }
@media (min-width: 640px) {
    .board-list-header { display: flex; }
    .board-row-category, .board-row-author, .board-row-date { display: block; }
    .board-row-author { width: 100px; }
    .board-row-title { font-size: 1.02rem; }
}
@media (min-width: 1024px) {
    .board-row-views, .board-row-likes { display: block; }
}
.board-empty { padding: 3.5rem 1.25rem; border: 1px dashed #d9dfea; border-radius: 1rem; text-align: center; }
.board-empty p { margin: 0 0 1.1rem; color: var(--board-muted); line-height: 1.7; }
.board-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: .4rem; margin-top: 1.75rem; }
.board-pagination a, .board-pagination span { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; border-radius: .7rem; text-decoration: none; color: #677387; font-size: .85rem; }
.board-pagination [aria-current="page"] { background: #e9edff; color: #294bed; font-weight: 800; }
.board-back { display: inline-flex; min-height: 44px; align-items: center; gap: .4rem; margin-bottom: 1rem; color: var(--board-muted); font-size: .85rem; text-decoration: none; }
.board-detail { max-width: 820px; }
.board-detail-list { margin-top: 2rem; scroll-margin-top: 6rem; }
.board-list-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; }
.board-list-heading .board-section-title { margin: 0; }
.board-article { padding: 1.25rem; background: #fff; border: 1px solid var(--board-line); border-radius: 1.2rem; }
.board-article-header { padding-bottom: 1.4rem; border-bottom: 1px solid #edf0f3; }
.board-article-title { margin: .55rem 0 .85rem; font-size: clamp(1.45rem, 4.5vw, 2.2rem); font-weight: 850; line-height: 1.4; letter-spacing: -.045em; }
.board-article-author { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; color: var(--board-muted); font-size: .8rem; }
.board-avatar { display: flex; width: 36px; height: 36px; flex: none; align-items: center; justify-content: center; border-radius: 50%; background: #edf1ff; color: #3b56ca; font-weight: 800; }
.board-author-name { font-weight: 750; color: #3e4b60; }
.board-guest-label { padding: .15rem .4rem; border-radius: .3rem; background: #f0f2f5; color: #606b7a; font-size: .75rem; }
.board-content { padding: 1.7rem 0; font-size: 1rem; line-height: 1.95; color: #344154; }
.board-text-block { margin: 0 0 1.4rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.board-image-block { margin: 1.5rem 0; }
.board-image-block img { display: block; width: 100%; height: auto; aspect-ratio: auto 4 / 3; max-height: 900px; object-fit: contain; border-radius: .85rem; background: #f5f6f8; }
.board-image-block figcaption { margin-top: .6rem; text-align: center; color: #657083; font-size: .8rem; line-height: 1.5; }
.board-video { margin: 1.5rem 0; max-width: 100%; overflow: hidden; border: 1px solid #dfe4ee; border-radius: .85rem; background: #fff; }
.board-video-stage { width: 100%; min-height: 200px; aspect-ratio: 16 / 9; background: #121b2b; }
.board-video-play { position: relative; display: block; width: 100%; height: 100%; min-height: 200px; overflow: hidden; padding: 0; border: 0; background: linear-gradient(135deg, #1c2942, #111827); color: #fff; font: inherit; line-height: 1.5; text-align: center; cursor: pointer; }
.board-video-play:focus-visible { outline: 3px solid #6e91ff; outline-offset: -5px; }
.board-video-thumbnail { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.board-video-thumbnail[hidden] { display: none; }
.board-video-overlay { position: relative; display: flex; width: 100%; height: 100%; min-height: 200px; flex-direction: column; align-items: center; justify-content: center; gap: .8rem; padding: 1.5rem; background: linear-gradient(180deg, rgba(8, 14, 26, .08), rgba(8, 14, 26, .25) 45%, rgba(8, 14, 26, .88)); pointer-events: none; }
.board-video-play-icon { display: grid; width: 64px; height: 46px; place-items: center; border-radius: .8rem; background: #e22f35; color: #fff; font-size: 1.35rem; }
.board-video-title { display: -webkit-box; max-width: 100%; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 1rem; font-weight: 750; overflow-wrap: anywhere; }
.board-video-hint { color: #d0d9e8; font-size: .85rem; }
.board-video-stage iframe { display: block; width: 100%; height: 100%; min-height: 200px; border: 0; }
.board-video-caption { padding: .7rem 1rem; color: #344154; font-size: .95rem; font-weight: 750; line-height: 1.5; overflow-wrap: anywhere; }
.board-video--portrait { background: #121b2b; }
.board-video--portrait .board-video-caption { color: #fff; }
.board-video--portrait .board-video-stage { max-width: 420px; margin-inline: auto; aspect-ratio: 9 / 16; }
.board-video-stage video { display: block; width: 100%; height: 100%; min-height: 200px; object-fit: contain; }
.board-video-message { margin: 0; padding: .7rem 1rem; color: #657083; font-size: .85rem; line-height: 1.6; }
.board-video-message[hidden] { display: none; }
.board-video .board-video-source { display: flex; min-height: 44px; align-items: center; padding: .65rem 1rem; color: #315bff; background: #fff; font-size: .8rem; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
.board-article-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem; padding: .5rem 0 1.4rem; }
.board-article-actions form { margin: 0; }
.board-like[aria-pressed="true"] { background: #edf1ff; border-color: #c7d1ff; color: #3156ee; }
.board-secondary-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem .75rem; padding-top: 1rem; border-top: 1px solid #edf0f3; }
.board-secondary-actions a, .board-secondary-actions summary { display: inline-flex; min-height: 44px; align-items: center; color: #7b8697; font-size: .8rem; cursor: pointer; text-decoration: none; }
.board-secondary-actions > details { width: 100%; }
.board-secondary-actions summary { list-style: none; }
.board-secondary-actions summary::-webkit-details-marker { display: none; }
.board-inline-panel { margin: .35rem 0 1rem; padding: 1rem; border: 1px solid var(--board-line); border-radius: .85rem; background: #fafbfe; }
.board-inline-panel p { margin: 0 0 .85rem; color: #738095; font-size: .8rem; line-height: 1.6; }
.board-inline-row { display: flex; flex-wrap: wrap; align-items: end; gap: .75rem; }
.board-inline-row .board-field { flex: 1 1 12rem; }
.board-comments { margin-top: 1.25rem; padding: 1.25rem; border: 1px solid var(--board-line); border-radius: 1.2rem; background: #fff; }
.board-section-title { margin: 0 0 1rem; font-size: 1.05rem; font-weight: 800; letter-spacing: -.02em; }
.board-section-title span { color: var(--board-blue); }
.board-comment-list { list-style: none; padding: 0; margin: 1.5rem 0 0; }
.board-comment-item { padding: 1.15rem 0; border-top: 1px solid #edf0f3; }
.board-comment-head { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; font-size: .8rem; color: #657083; }
.board-comment-text { margin: .65rem 0 .4rem; font-size: .95rem; line-height: 1.8; white-space: pre-wrap; }
.board-comment-actions { display: flex; gap: .75rem; flex-wrap: wrap; font-size: .75rem; color: #7d8796; }
.board-comment-actions summary { display: inline-flex; align-items: center; min-height: 44px; cursor: pointer; }
.board-comment-actions details { max-width: 100%; }
.board-comment-actions .board-inline-panel { width: min(32rem, 100%); }
.board-form-grid { display: grid; gap: 1rem; }
.board-field { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }
.board-field label { font-size: .85rem; font-weight: 750; }
.board-field input, .board-field select, .board-field textarea, .board-comment-form > textarea { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #dfe4ec; border-radius: .75rem; padding: .75rem .85rem; background: #fff; color: var(--board-ink); }
.board-field textarea, .board-comment-form > textarea { line-height: 1.7; resize: vertical; }
.board-field small { color: #657083; font-size: .8rem; line-height: 1.5; }
.board-comment-form > textarea { min-height: 110px; }
.board-comment-submit { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .8rem; }
.board-note { color: #657083; font-size: .8rem; line-height: 1.6; }
.board-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.board-alert { margin: 0 0 1rem; padding: .9rem 1rem; border: 1px solid #cdd8ff; border-radius: .8rem; background: #eef2ff; color: #3553b7; font-size: .9rem; line-height: 1.65; }
.board-alert-error, .board-validation { border-color: #f0cfd4; background: #fff1f3; color: #bd3447; }
.board-validation { margin-bottom: 1rem; border: 1px solid #f0cfd4; border-radius: .8rem; padding: .8rem 1rem; font-size: .85rem; }
.board-validation ul { padding-left: 1.25rem; margin: 0; }
.board-validation.validation-summary-valid { display: none; }
.solo-board.board-editor { max-width: 1100px; padding-top: .5rem; }
.board-editor .board-back { margin-bottom: .25rem; }
.board-editor-form { margin-top: 0; }
.board-editor-card { padding: 1.25rem; border: 1px solid var(--board-line); border-radius: 1.1rem; background: #fff; }
.board-editor .board-editor-card { padding: 1rem; }
.board-editor-card + .board-editor-card { margin-top: .65rem; }
.board-editor-title-row { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; }
.board-editor-title-row .board-field { gap: .3rem; }
.board-editor-title-row .board-field input, .board-editor-title-row .board-field select { padding: .6rem .8rem; min-height: 48px; font-size: 16px; }
.board-editor-title { font-weight: 750; }
.board-editor-identity { display: grid; gap: .5rem; margin-top: .5rem; }
.board-editor-identity:empty { display: none; }
.board-editor-identity .board-anonymous-option { display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .75rem; margin-bottom: 0; }
.board-editor-identity .board-anonymous-option .board-note { flex: 1 1 16rem; }
.board-editor-identity .board-anonymous-option .board-note { margin: 0; }
.board-editor-identity > .board-note { margin: 0; }
.board-editor-blocks { min-width: 0; }
.board-block-image { display: block; width: 100%; max-height: 380px; object-fit: contain; aspect-ratio: 4 / 3; border-radius: .65rem; background: #edf0f5; }
.board-editor-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; padding: 1.25rem 0 calc(1rem + env(safe-area-inset-bottom)); }
.board-editor-footer > div { display: flex; gap: .5rem; }
.board-upload-status { margin: .5rem 0 0; font-size: .8rem; line-height: 1.6; color: #5271bd; }
.board-upload-status:empty { display: none; }
.board-upload-status[data-error="true"] { color: #c3354a; }
.board-noscript { padding: 1rem; color: #ad3447; background: #fff1f3; border-radius: .8rem; }
body.social-dark-shell .solo-board { --board-ink: #eef2fa; --board-muted: #98a6bc; --board-line: #2b3445; color-scheme: dark; }
body.social-dark-shell .solo-board .board-kicker { color: #91a5ff; }
body.social-dark-shell .solo-board .board-description { color: #a6b1c4; }
body.social-dark-shell .solo-board .board-btn,
body.social-dark-shell .solo-board .board-search input,
body.social-dark-shell .solo-board .board-list,
body.social-dark-shell .solo-board .board-article,
body.social-dark-shell .solo-board .board-comments,
body.social-dark-shell .solo-board .board-editor-card,
body.social-dark-shell .solo-board .board-field input,
body.social-dark-shell .solo-board .board-field select,
body.social-dark-shell .solo-board .board-field textarea,
body.social-dark-shell .solo-board .board-comment-form > textarea { background: #151b27; color: #e8edf6; border-color: #2b3445; }
body.social-dark-shell .solo-board .board-btn-primary { background: #3559ff; border-color: #3559ff; color: #fff; }
body.social-dark-shell .solo-board .board-btn-soft,
body.social-dark-shell .solo-board .board-nav a[aria-current="page"],
body.social-dark-shell .solo-board .board-like[aria-pressed="true"],
body.social-dark-shell .solo-board .board-pagination [aria-current="page"] { color: #aabbff; background: #202e57; border-color: #3f518a; }
body.social-dark-shell .solo-board .board-btn-danger { color: #ffa0ad; border-color: #683d48; }
body.social-dark-shell .solo-board .board-post-row[aria-current="page"] { background: #202e57; color: #b5c2ff; border-color: #8097ff; }
body.social-dark-shell .solo-board .board-post-link:hover,
body.social-dark-shell .solo-board .board-post-row:hover,
body.social-dark-shell .solo-board .board-post-row:focus-visible { background: #1b2333; }
body.social-dark-shell .solo-board .board-list > li + li,
body.social-dark-shell .solo-board .board-article-header,
body.social-dark-shell .solo-board .board-secondary-actions,
body.social-dark-shell .solo-board .board-comment-item { border-color: #2b3445; }
body.social-dark-shell .solo-board .board-post-excerpt,
body.social-dark-shell .solo-board .board-post-meta,
body.social-dark-shell .solo-board .board-list-header,
body.social-dark-shell .solo-board .board-row-author,
body.social-dark-shell .solo-board .board-row-date,
body.social-dark-shell .solo-board .board-row-views,
body.social-dark-shell .solo-board .board-row-likes,
body.social-dark-shell .solo-board .board-row-attachment,
body.social-dark-shell .solo-board .board-article-author,
body.social-dark-shell .solo-board .board-comment-head,
body.social-dark-shell .solo-board .board-comment-actions,
body.social-dark-shell .solo-board .board-image-block figcaption,
body.social-dark-shell .solo-board .board-field small,
body.social-dark-shell .solo-board .board-empty p,
body.social-dark-shell .solo-board .board-pagination a,
body.social-dark-shell .solo-board .board-pagination span,
body.social-dark-shell .solo-board .board-identity-note,
body.social-dark-shell .solo-board .board-note,
body.social-dark-shell .solo-board .board-inline-panel p,
body.social-dark-shell .solo-board .board-back,
body.social-dark-shell .solo-board .board-secondary-actions a,
body.social-dark-shell .solo-board .board-secondary-actions summary { color: #a6b1c4; }
body.social-dark-shell .solo-board .board-author-name,
body.social-dark-shell .solo-board .board-post-meta .board-author,
body.social-dark-shell .solo-board .board-checkbox-label,
body.social-dark-shell .solo-board .board-content { color: #d9e1ef; }
body.social-dark-shell .solo-board .board-category-label,
body.social-dark-shell .solo-board .board-row-category,
body.social-dark-shell .solo-board .board-comment-count,
body.social-dark-shell .solo-board .board-section-title span,
body.social-dark-shell .solo-board .board-sort a[aria-current="page"] { color: #91a7ff; }
body.social-dark-shell .solo-board .board-pagination [aria-current="page"] { color: #aabbff; }
body.social-dark-shell .solo-board .board-empty { border-color: #3d4b63; }
body.social-dark-shell .solo-board input::placeholder,
body.social-dark-shell .solo-board textarea::placeholder { color: #98a6bc; opacity: 1; }
body.social-dark-shell .solo-board .board-avatar { background: #202e57; color: #aabbff; }
body.social-dark-shell .solo-board .board-guest-label { background: #293345; color: #b2bfd2; }
body.social-dark-shell .solo-board .board-inline-panel,
body.social-dark-shell .solo-board .board-editor-block { background: #101723; border-color: #2c3a52; color: #e8edf6; }
body.social-dark-shell .solo-board .board-block-controls button,
body.social-dark-shell .solo-board .board-block-text,
body.social-dark-shell .solo-board .board-block-caption { background: #1a2332; border-color: #33415a; color: #dce5f5; }
body.social-dark-shell .solo-board .board-block-controls button[data-block-action="remove"] { color: #f399a8; }
body.social-dark-shell .solo-board .board-block-label { color: #acbad0; }
body.social-dark-shell .solo-board .board-image-block img,
body.social-dark-shell .solo-board .board-block-image,
body.social-dark-shell .solo-board .board-thumbnail { background: #1d2636; }
body.social-dark-shell .solo-board .board-upload-status { color: #a9bcff; }
body.social-dark-shell .solo-board .board-upload-status[data-error="true"] { color: #ff9caa; }
body.social-dark-shell .solo-board .board-alert { background: #202e57; border-color: #40538c; color: #d5deff; }
body.social-dark-shell .solo-board .board-alert-error,
body.social-dark-shell .solo-board .board-validation,
body.social-dark-shell .solo-board .board-noscript { background: #40222d; border-color: #72404d; color: #ffd0d8; }
@media (min-width: 640px) {
    .solo-board { padding-top: 2.75rem; }
    .solo-board-index { padding: 2.5rem 1.5rem 4rem; }
    .board-search { flex: 1 1 16rem; max-width: 24rem; }
    .board-post-link { padding: 1.35rem 1.6rem; gap: 1.4rem; }
    .board-post-title { font-size: 1.15rem; }
    .board-thumbnail { width: 88px; height: 88px; }
    .board-article, .board-comments, .board-editor-card { padding: 1.75rem 2rem; }
    .board-form-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .board-secondary-actions > details { width: auto; }
}
@media (min-width: 768px) {
    .board-index-header { grid-template-columns: minmax(0, 1fr) minmax(13rem, 24rem) auto; grid-template-areas: "intro search compose"; }
    .board-topics { display: flex; flex-wrap: wrap; gap: .35rem; max-height: calc(88px + .35rem); }
    .board-topic { flex: 0 0 auto; padding-inline: .75rem; }
}
@media (prefers-reduced-motion: no-preference) {
    .board-btn, .board-post-link { transition: background .15s, border-color .15s; }
}

/* Tables and the single-row toolbar provide explicit, contained horizontal scrolling. */
.board-rich-toolbar { display: flex; flex-wrap: nowrap; gap: .35rem; min-width: 0; max-width: 100%; margin: 1rem 0; padding: .5rem; border: 1px solid #dfe4ee; border-radius: .8rem; background: #f6f8fd; overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; scroll-padding-inline: .5rem; scrollbar-width: thin; }
.board-editor-body .board-rich-toolbar { margin: 0 0 .6rem; }
.board-rich-toolbar-actions { padding-right: .4rem; border-right: 1px solid #dfe4ee; }
.board-rich-toolbar-actions button { padding-inline: .75rem; white-space: nowrap; }
.board-rich-toolbar-group { display: flex; flex: none; flex-wrap: nowrap; gap: .2rem; align-items: center; }
.board-rich-toolbar button, .board-rich-toolbar select, .board-rich-color-control { display: inline-flex; flex: none; min-height: 44px; min-width: 44px; justify-content: center; align-items: center; border: 1px solid #dfe4ee; border-radius: .5rem; background: #fff; color: #43516a; font-size: .85rem; font-weight: 650; cursor: pointer; }
.board-rich-toolbar button { padding: .5rem; }
.board-rich-toolbar select { padding: .5rem; font-size: 16px; }
.board-rich-toolbar [data-rich-block-style] { width: 96px; }
.board-rich-toolbar [data-rich-font-size] { width: 64px; }
.board-rich-toolbar [data-rich-line-height] { width: 64px; }
.board-rich-color-control:focus-within { outline: 3px solid #7590ff; outline-offset: 2px; }
.board-rich-toolbar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.board-rich-toolbar button[aria-pressed="true"] { color: #3155e9; background: #e8eeff; border-color: #b7c7ff; }
.board-rich-toolbar button:disabled, .board-rich-toolbar input:disabled, .board-rich-toolbar select:disabled { opacity: .4; cursor: not-allowed; }
.board-rich-color-control { position: relative; overflow: hidden; text-decoration: underline; text-decoration-color: #315bff; text-decoration-thickness: 3px; text-underline-offset: 3px; }
.board-rich-color-control input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.board-rich-editor { min-width: 0; max-width: 100%; border: 1px solid #dfe4ee; border-radius: .7rem; background: #fff; }
.board-rich-input { min-height: 190px; padding: 1rem; color: #344154; font-size: 16px; line-height: 1.85; white-space: pre-wrap; word-break: break-word; overflow-wrap: anywhere; outline: none; }
.board-editor-body .board-rich-input { min-height: max(360px, calc(100dvh - 24rem)); }
.board-rich-input[data-empty="true"] { position: relative; }
.board-rich-input[data-empty="true"]::before { content: attr(data-placeholder); position: absolute; inset: 1rem auto auto 1rem; color: #8993a4; pointer-events: none; }
.board-editor-image { display: block; margin: 1rem 0; max-width: 100%; white-space: normal; }
.board-editor-image .board-block-image { height: auto; max-height: 480px; aspect-ratio: auto; }
.board-editor-image figcaption { margin-top: .5rem; color: #657083; font-size: .85rem; text-align: center; white-space: pre-wrap; }
.board-editor-image.ProseMirror-selectednode { outline: 2px solid #7590ff; outline-offset: 4px; border-radius: .65rem; }
.board-image-tools { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: .5rem; margin-top: .35rem; }
.board-image-details { flex: 1 1 12rem; min-width: 0; }
.board-image-details summary { display: flex; align-items: center; min-height: 44px; width: fit-content; padding: .5rem; color: #657083; font-size: .8rem; cursor: pointer; }
.board-image-details summary::after { content: "⌄"; margin-inline-start: .5rem; }
.board-image-details[open] summary::after { content: "⌃"; }
.board-image-details label { display: block; margin-bottom: .5rem; color: #657083; font-size: .8rem; }
.board-image-details .board-block-caption { display: block; width: 100%; min-width: 0; min-height: 44px; margin-top: .3rem; padding: .65rem .75rem; border: 1px solid #e1e6ef; border-radius: .65rem; background: #fff; color: #344154; font-size: 16px; }
.board-image-remove { display: inline-flex; flex: none; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .5rem; border: 0; border-radius: .5rem; background: transparent; color: #ad3447; font-size: .8rem; cursor: pointer; }
.board-rich-editor:focus-within { outline: 2px solid #7590ff; outline-offset: 1px; }
.board-rich-input[contenteditable="false"] { background: #f8f9fc; color: #627189; }
.board-rich-text { max-width: 100%; min-width: 0; color: #344154; font-size: 1rem; line-height: 1.95; overflow-wrap: anywhere; }
.board-rich-text p, .board-rich-input p { margin: 0 0 .85rem; }
.board-rich-text p:last-child, .board-rich-input p:last-child { margin-bottom: 0; }
.board-rich-text h2, .board-rich-input h2 { margin: 1.35rem 0 .7rem; font-size: 1.5rem; font-weight: 800; line-height: 1.5; letter-spacing: -.025em; }
.board-rich-text h3, .board-rich-input h3 { margin: 1.15rem 0 .65rem; font-size: 1.2rem; font-weight: 750; line-height: 1.55; }
.board-rich-text strong, .board-rich-input strong { font-weight: 800; }
.board-rich-text em, .board-rich-input em { font-style: italic; }
.board-rich-text s, .board-rich-input s { text-decoration: line-through; }
.board-rich-text u, .board-rich-input u { text-decoration: underline; }
.board-rich-text ul, .board-rich-input ul { list-style-type: disc; padding-left: 1.55rem; margin: .75rem 0 1rem; }
.board-rich-text ol, .board-rich-input ol { list-style-type: decimal; padding-left: 1.7rem; margin: .75rem 0 1rem; }
.board-rich-text li, .board-rich-input li { padding-left: .2rem; margin: .3rem 0; }
.board-rich-text blockquote, .board-rich-input blockquote { margin: 1rem 0; padding: .65rem .9rem; border-left: 3px solid #a7b9ff; border-radius: 0 .5rem .5rem 0; background: #f0f4ff; color: #51617a; }
.solo-board .board-rich-text a, .solo-board .board-rich-input a { color: #315bff; text-decoration: underline; text-underline-offset: 3px; }
.board-rich-table-wrap, .board-rich-input .tableWrapper, .board-rich-text .tableWrapper { display: block; max-width: 100%; width: 100%; margin: 1rem 0; overflow-x: auto; overscroll-behavior-x: contain; border-radius: .55rem; }
.board-editor-table { position: relative; min-width: 0; max-width: 100%; margin: 1rem 0; white-space: normal; }
.board-table-tools { position: relative; display: flex; justify-content: flex-end; min-height: 44px; margin-bottom: .25rem; }
.board-rich-input .board-table-scroll { margin: 0; }
.board-table-menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: .4rem; border: 1px solid #d6deed; border-radius: .6rem; background: #fff; color: #43516a; font-size: 1.4rem; font-weight: 700; line-height: 1; cursor: pointer; }
.board-table-menu-toggle[aria-expanded="true"] { color: #3155e9; background: #e8eeff; border-color: #b7c7ff; }
.board-table-menu { position: absolute; inset: calc(100% + .25rem) 0 auto auto; z-index: 20; width: min(220px, 100%); max-height: min(300px, calc(100dvh - 8rem)); padding: .35rem; border: 1px solid #d6deed; border-radius: .75rem; background: #fff; box-shadow: 0 8px 28px rgb(24 34 51 / .14); overflow-y: auto; overscroll-behavior: contain; transform: translateX(var(--board-table-menu-shift, 0px)); }
.board-table-menu[data-placement="above"] { top: auto; bottom: calc(100% + .25rem); }
.board-table-menu button { display: flex; align-items: center; width: 100%; min-height: 44px; padding: .6rem .75rem; border: 0; border-radius: .45rem; background: transparent; color: #344154; font-size: .85rem; text-align: left; cursor: pointer; }
.board-table-menu button:hover, .board-table-menu button:focus-visible { background: #eff3fb; }
.board-table-menu button[data-board-table-action="tableDelete"] { color: #ad3447; border-top: 1px solid #e6e8ed; border-radius: 0 0 .45rem .45rem; }
.board-table-menu button:disabled, .board-table-menu-toggle:disabled { opacity: .45; cursor: not-allowed; }
.board-rich-text table, .board-rich-input table { min-width: 360px; width: 100%; margin: 0; border-collapse: collapse; table-layout: fixed; white-space: normal; }
.board-rich-text th, .board-rich-input th, .board-rich-text td, .board-rich-input td { position: relative; min-width: 90px; padding: .7rem .8rem; border: 1px solid #d6deed; text-align: left; vertical-align: top; background: #fff; word-break: break-word; }
.board-rich-text th, .board-rich-input th { background: #eff3fb; font-weight: 750; }
.board-rich-input .selectedCell::after { content: ""; position: absolute; inset: 0; background: rgb(49 91 255 / .12); pointer-events: none; }
.board-rich-input .ProseMirror-gapcursor { position: absolute; display: none; pointer-events: none; }
.board-rich-input .ProseMirror-gapcursor::after { content: ""; display: block; position: absolute; top: -2px; width: 20px; border-top: 1px solid #344154; }
.board-rich-input.ProseMirror-focused .ProseMirror-gapcursor { display: block; }
.board-rich-dialog { width: min(420px, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); overflow-y: auto; padding: 1.25rem; border: 1px solid #dce3ef; border-radius: 1rem; background: #fff; color: #243249; box-shadow: 0 20px 80px rgb(0 0 0 / .2); font-family: inherit; }
.board-rich-dialog::backdrop { background: rgb(16 24 40 / .5); }
.board-rich-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.board-rich-dialog h2 { margin: 0; font-size: 1.15rem; font-weight: 800; }
.board-rich-dialog button { min-height: 44px; min-width: 44px; padding: .6rem .85rem; border: 1px solid #dfe5ef; border-radius: .65rem; background: #f5f7fc; color: #354964; font: inherit; cursor: pointer; }
.board-rich-dialog input, .board-rich-dialog select { width: 100%; min-height: 46px; margin-top: .45rem; padding: .65rem .75rem; border: 1px solid #d6dfed; border-radius: .65rem; font: inherit; font-size: 16px; color: #243249; background: #fff; }
.board-rich-dialog label { display: block; font-size: .85rem; font-weight: 700; }
.board-rich-dialog p { margin: .75rem 0; color: #6f7f93; font-size: .8rem; line-height: 1.6; }
.board-rich-dialog-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }
.board-rich-dialog [data-rich-link-apply], .board-rich-dialog [data-rich-table-apply] { color: #fff; background: #315bff; border-color: #315bff; }
.board-rich-table-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.board-rich-dialog :focus-visible { outline: 3px solid #7590ff; outline-offset: 2px; }

@media (min-width: 768px) {
    .board-editor-title-row { grid-template-columns: 180px minmax(0, 1fr); align-items: end; }
    .board-editor .board-editor-card { padding: 1rem 1.25rem; }
}

/* Public reading pages use the photo-feed theme; author-selected inline colors remain intact. */
body.social-dark-shell .solo-board .board-rich-text { color: #d9e1ef; }
body.social-dark-shell .solo-board .board-rich-text a { color: #aabbff; }
body.social-dark-shell .solo-board .board-rich-text blockquote { background: #1a263b; color: #c6d2e7; border-color: #91a7ff; }
body.social-dark-shell .solo-board .board-rich-text th,
body.social-dark-shell .solo-board .board-rich-text td { background: #151b27; color: inherit; border-color: #33415a; }
body.social-dark-shell .solo-board .board-rich-text th { background: #202a3b; color: #e8edf6; }
