:root {
    color-scheme: light;
    --navy:#102e46; --navy-2:#193f5c; --sky:#24638a; --amber:#efbc73; --amber-2:#ffd299;
    --bg:#f5f4f0; --card:#fff; --text:#223644; --muted:#74818a; --line:#e2e5e3; --head:#f5f7f7;
    --accent:#24638a; --sky-soft:#edf4f7; --danger:#ac3d37; --success:#347761; --success-bg:#eaf5ee; --button:#24638a; --button-hover:#1b5073; --on-color:#fff;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    font-size:14px; line-height:1.6; color:var(--text); background:var(--bg);
}
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; }
a { color:var(--accent); text-decoration:none; text-underline-offset:3px; }
a:hover { text-decoration:underline; }
button,input,textarea,select { font:inherit; }
button,a,input,summary,textarea,select { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid var(--amber); outline-offset:3px; }
button { cursor:pointer; }
img,svg { max-width:100%; }
.wrap { width:100%; max-width:1240px; margin:0 auto; padding:0 28px; }
.page { flex:1 0 auto; padding-top:24px; padding-bottom:60px; outline:none; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(28px,3.2vw,38px); font-weight:750; letter-spacing:-1.2px; line-height:1.18; margin-bottom:12px; color:var(--text); }
h2 { font-size:20px; font-weight:700; letter-spacing:-.4px; line-height:1.35; margin-bottom:12px; }
h3 { font-size:15px; font-weight:650; line-height:1.4; margin-bottom:6px; }
p { margin-bottom:16px; }
.icon { display:inline-block; width:18px; height:18px; vertical-align:middle; flex:none; }
.muted,.empty,.field-hint { color:var(--muted); }
.small,.field-hint { font-size:12px; }
.eyebrow { color:var(--accent); font-size:10px; font-weight:750; letter-spacing:1.8px; text-transform:uppercase; margin:0 0 12px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.form-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.skip-link { position:fixed; z-index:100; top:-100px; left:20px; padding:12px 20px; background:var(--amber); color:var(--navy); }
.skip-link:focus { top:10px; }
.count { display:inline-flex; justify-content:center; align-items:center; min-width:17px; height:17px; padding:0 5px; border-radius:9px; background:var(--amber); color:var(--navy); font-size:10px; font-weight:750; }
.topbar { background:var(--navy); color:#fff; }
.masthead { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:100px; }
.logo { display:inline-flex; gap:14px; align-items:center; color:#fff; font-size:27px; font-weight:700; letter-spacing:-.8px; white-space:nowrap; }
.logo:hover { text-decoration:none; }
.logo-amp { color:var(--amber); font-weight:400; }
.logo small { display:block; font-size:8px; font-weight:500; letter-spacing:2px; color:#a1b8c7; margin-top:3px; }
.logo-mark { width:48px; height:48px; }
.lm-globe { fill:none; stroke:var(--amber); stroke-width:1.6; }
.lm-line { fill:none; stroke:#55748a; stroke-width:1; }
.lm-plane { fill:#fff; }
.account { display:flex; align-items:center; gap:22px; }
.header-icon { position:relative; display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:50%; color:#c9d7e0; }
.header-icon:hover,.header-icon.active { background:#ffffff14; color:#fff; text-decoration:none; }
.header-icon .icon { width:19px; height:19px; }
.header-icon .count { position:absolute; top:1px; right:-3px; border:2px solid var(--navy); height:19px; }
.account .header-icon+.header-icon { margin-left:-18px; }
.account .header-icon+.account-menu { margin-left:-6px; }
.account .sign-in { color:#dfebf2; font-size:12px; font-weight:650; }
.account .button { font-size:12px; padding:10px 16px; }
.nav-band { border-top:1px solid #2b455a; background:#13334d; }
.nav-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.menu { display:flex; align-items:stretch; gap:25px; overflow:auto; scrollbar-width:none; animation:menu-more linear both; animation-timeline:scroll(self inline); }
/* While more links are hidden to the right, the row fades at its edge. */
@keyframes menu-more { 0%,96% { mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent); } 100% { mask-image:none; } }
.menu a { color:#b5c7d4; font-weight:600; font-size:12px; padding:15px 0 12px; border-bottom:3px solid transparent; white-space:nowrap; }
.menu a:hover { color:#fff; text-decoration:none; }
.menu a.active { color:#fff; border-bottom-color:var(--amber); }
.play-link { display:inline-flex; align-items:center; gap:14px; color:var(--amber); font-size:12px; font-weight:650; white-space:nowrap; }
.play-link .icon { width:15px; }
.account-menu { position:relative; }
.account-menu summary { list-style:none; display:flex; align-items:center; gap:10px; cursor:pointer; }
summary::-webkit-details-marker { display:none; }
.account-menu .who { font-size:12px; max-width:160px; overflow:hidden; text-overflow:ellipsis; }
.account-menu summary>.icon { width:13px; color:#a8bfcc; }
.account-dropdown { position:absolute; right:0; top:calc(100% + 16px); z-index:20; min-width:230px; border:1px solid var(--line); border-radius:8px; padding:8px; background:var(--card); color:var(--text); box-shadow:0 12px 40px #0002; }
.account-dropdown a,.account-dropdown form { display:block; padding:9px 12px; font-size:12px; }
.account-dropdown a:hover { background:var(--head); text-decoration:none; border-radius:5px; }
button,.button { display:inline-flex; align-items:center; justify-content:center; gap:8px; background:var(--button); color:white; font-weight:650; font-size:12px; line-height:1.5; padding:11px 17px; border:1px solid transparent; border-radius:5px; text-align:center; transition:background .15s,border-color .15s; }
button:hover,.button:hover { background:var(--button-hover); text-decoration:none; }
button:disabled { cursor:wait; opacity:.6; }
.button.accent { background:var(--amber); color:#142f44; }
.button.accent:hover { background:var(--amber-2); }
.button.secondary { background:var(--card); color:var(--accent); border-color:var(--line); }
.button.secondary:hover { border-color:var(--accent); background:var(--sky-soft); }
.button.danger { background:var(--card); color:var(--danger); border-color:var(--danger); }
.button.danger:hover { background:var(--danger); color:var(--on-color); }
.button.quiet { background:transparent; color:var(--muted); }
.button.quiet:hover { background:var(--head); }
.button.small,button.small { padding:7px 12px; font-size:11px; }
button.link { display:inline-flex; padding:0; background:none; color:var(--accent); border:0; font-weight:550; }
button.link:hover { text-decoration:underline; }
.button .icon,button .icon { width:15px; height:15px; }
.actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.actions form { margin:0; }
.breadcrumbs { display:flex; gap:9px; align-items:center; font-size:10px; color:var(--muted); margin-bottom:30px; flex-wrap:wrap; }
.breadcrumbs a { color:var(--muted); }
.breadcrumbs>span[aria-hidden] { color:#b3bdc1; }
.page-heading { display:flex; justify-content:space-between; align-items:center; gap:28px; margin:12px 0 30px; }
.page-heading .eyebrow { margin-bottom:10px; }
.page-description { color:var(--muted); max-width:700px; margin:0; font-size:13px; }
.heading-actions { flex:none; }
.columns { display:grid; grid-template-columns:minmax(0,1fr) 282px; gap:28px; align-items:start; }
.col-main { min-width:0; }
.col-main>.card { margin-bottom:24px; }
.col-side { display:grid; gap:22px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.card-title { margin:0; padding:15px 18px; color:var(--text); font-size:12px; font-weight:700; letter-spacing:0; background:transparent; border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:10px; }
.card-title>a { font-size:10px; font-weight:500; white-space:nowrap; }
.card-title>a .icon { width:13px; height:13px; }
.card-body { padding:20px; }
.card-body>:last-child { margin-bottom:0; }
.card-body>:first-child { margin-top:0; }
.narrow { max-width:430px; margin:30px auto 60px; }
.content-narrow { max-width:760px; margin:0 auto; }
.section-label { margin:30px 0 10px; font-size:10px; font-weight:750; letter-spacing:1.6px; text-transform:uppercase; color:var(--muted); }
.section-label:first-child { margin-top:0; }
.section-toolbar { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:30px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.tabs { display:flex; align-items:center; gap:24px; overflow:auto; scrollbar-width:none; }
.tabs a { color:var(--muted); white-space:nowrap; font-weight:550; font-size:12px; padding:8px 0; border-bottom:2px solid transparent; }
.tabs a:hover { color:var(--accent); text-decoration:none; }
.tabs a.active { color:var(--accent); border-bottom-color:var(--accent); font-weight:700; }
.search-form { display:flex; background:var(--card); border:1px solid var(--line); border-radius:5px; overflow:hidden; width:250px; flex:none; }
.search-form input { width:100%; min-width:0; border:0; border-radius:0; background:transparent; font-size:11px; padding:9px 10px; }
.search-form button { background:transparent; color:var(--muted); border:0; padding:7px 10px; }
.search-form button:hover { background:var(--head); }
.board-row { display:grid; grid-template-columns:45px minmax(0,1fr) 48px 180px; align-items:center; gap:15px; padding:20px 18px; background:var(--card); border:1px solid var(--line); border-bottom:0; }
.board-row:has(+.section-label),.board-row:last-of-type { border-bottom:1px solid var(--line); border-radius:0 0 7px 7px; }
.section-label+.board-row { border-radius:7px 7px 0 0; }
.board-symbol { width:43px; height:43px; display:flex; align-items:center; justify-content:center; color:var(--accent); background:var(--sky-soft); border-radius:9px; }
.board-symbol .icon { width:23px; height:23px; }
.board-symbol.kind-showcase { background:#f5eef6; color:#956b9e; }
.board-symbol.kind-press { background:#fcf2e2; color:#ad8344; }
.board-symbol.kind-issue { background:#f6eeea; color:#ac7561; }
.board-symbol.kind-help { background:#eaf4ef; color:#4c8872; }
.board-description h3 { margin:0 0 5px; font-size:13px; font-weight:700; display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.board-description h3 a { color:var(--text); }
.board-description p { margin:0; color:var(--muted); font-size:11px; line-height:1.65; }
.board-count { text-align:center; }
.board-count strong { display:block; font-size:16px; font-weight:600; }
.board-count span { display:block; font-size:9px; color:var(--muted); }
.board-latest { border-left:1px solid var(--line); padding-left:16px; font-size:11px; min-width:0; }
.board-latest>a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-weight:550; }
.board-latest>span { display:block; color:var(--muted); font-size:10px; margin-top:5px; }
.board-footer { display:flex; justify-content:space-between; gap:20px; margin-top:20px; color:var(--muted); font-size:10px; }
.compact-topics { list-style:none; margin:0; padding:0 18px; }
.compact-topics li { padding:15px 0; border-bottom:1px solid var(--line); }
.compact-topics li:last-child { border-bottom:0; }
.compact-topics li>a { font-size:12px; font-weight:600; color:var(--text); }
.compact-topics li>span { display:block; margin-top:5px; font-size:10px; color:var(--muted); }
.stat-list { margin:0; }
.stat-list>div { display:flex; align-items:center; justify-content:space-between; font-size:12px; padding:5px 0; }
.stat-list dt { color:var(--muted); }
.stat-list dd { margin:0; font-weight:650; }
.stat-list+p { margin-top:18px; border-top:1px solid var(--line); padding-top:15px; }
.side-note { display:flex; gap:12px; padding:4px; color:var(--muted); }
.side-note>.icon { width:20px; height:20px; color:var(--accent); margin-top:2px; }
.side-note h3 { font-size:12px; color:var(--text); margin-bottom:8px; }
.side-note p { font-size:11px; margin-bottom:0; }
.tag { display:inline-flex; align-items:center; gap:4px; font-size:9px; font-weight:650; padding:2px 7px; border-radius:3px; background:var(--sky-soft); color:var(--accent); line-height:1.6; white-space:nowrap; }
.tag .icon { width:11px; height:11px; }
.tag.subtle { background:var(--head); color:var(--muted); }
.tag.success,.tag.status-resolved { background:var(--success-bg); color:var(--success); }
.tag.danger { background:#faeceb; color:var(--danger); }
.tag.status-under-review { background:#fff4df; color:#9c7332; }
.tag.status-planned { background:#eeebfa; color:#7c63a3; }
.tag.tournament { background:#fbf0cf; color:#87650c; }
.tag.status-closed { background:var(--head); color:var(--muted); }
.tag.role-team { background:var(--sky-soft); color:var(--accent); }
.avatar { width:37px; height:37px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--avatar-blue-bg); color:var(--avatar-blue-fg); font-size:14px; font-weight:600; flex:none; }
.avatar:hover { text-decoration:none; }
.avatar.tone-1 { background:var(--avatar-gold-bg); color:var(--avatar-gold-fg); }.avatar.tone-2 { background:var(--avatar-green-bg); color:var(--avatar-green-fg); }.avatar.tone-3 { background:var(--avatar-purple-bg); color:var(--avatar-purple-fg); }.avatar.tone-4 { background:var(--avatar-red-bg); color:var(--avatar-red-fg); }.avatar.tone-5 { background:var(--avatar-teal-bg); color:var(--avatar-teal-fg); }
.activity-tabs { margin-bottom:20px; border-bottom:1px solid var(--line); }
.filter-bar { display:flex; gap:10px; align-items:center; background:var(--card); border:1px solid var(--line); padding:12px; border-radius:6px; margin-bottom:16px; }
.filter-query { display:flex; align-items:center; gap:8px; flex:1; min-width:100px; }
.filter-query .icon { color:var(--muted); width:16px; }
.filter-query input { width:100%; border:0; padding:6px 0; background:transparent; }
.filter-bar select { max-width:210px; font-size:11px; }
.filter-bar .button { padding:7px 12px; font-size:11px; }
.result-count { font-size:11px; color:var(--muted); margin:0 0 16px; }
.topic-list { border:1px solid var(--line); border-radius:7px; overflow:hidden; background:var(--card); }
.topic-list-head { display:grid; grid-template-columns:1fr 65px 150px; gap:24px; padding:11px 20px; background:var(--head); border-bottom:1px solid var(--line); font-size:9px; letter-spacing:.8px; color:var(--muted); text-transform:uppercase; }
.topic-list-head>span:nth-child(2) { text-align:center; }
.topic-row { display:grid; grid-template-columns:37px minmax(0,1fr) 65px 150px; gap:16px; align-items:center; padding:14px 20px; border-bottom:1px solid var(--line); }
.topic-row>.avatar { position:relative; }
.topic-row.is-unread>.avatar::after { content:""; position:absolute; top:-1px; right:-1px; width:9px; height:9px; border-radius:50%; background:var(--accent); border:2px solid var(--card); }
.topic-row:last-child { border-bottom:0; }
.topic-info { min-width:0; }
.topic-info h3 { margin:0 0 4px; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.topic-info h3 .tag { margin-left:6px; vertical-align:2px; }
.topic-row:not(.is-unread) .topic-info h3>a { color:color-mix(in srgb,var(--text) 82%,var(--muted)); }
.topic-info h3>a { color:var(--text); }
.topic-info>p { color:var(--muted); font-size:11px; margin:0; display:flex; flex-wrap:wrap; gap:4px 0; }
.topic-info>p>*+*::before { content:"|"; margin:0 6px; color:var(--muted); }
.topic-info>p>a { color:var(--muted); }
.topic-flags { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:6px; }
.topic-flags:empty { display:none; }
.topic-replies { text-align:center; }
.topic-replies>strong { font-size:14px; font-weight:550; }
.topic-replies>span { display:none; }
.topic-date { font-size:11px; }
.topic-date>span { display:block; font-size:11px; color:var(--muted); margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.topic-date>span>a { color:var(--muted); }
.unread-dot { display:inline-block; width:6px; height:6px; background:var(--accent); border-radius:50%; margin-right:7px; vertical-align:middle; }
.is-unread .topic-info h3 { font-weight:750; }
.is-hidden { background:var(--head); border-style:dashed; }
.empty-state { padding:48px 24px; text-align:center; }
.empty-state h2 { font-size:21px; margin:17px 0 10px; }
.empty-state p { color:var(--muted); font-size:13px; max-width:460px; margin:0 auto 22px; }
.empty-state .actions { justify-content:center; }
.empty-icon { display:inline-flex; justify-content:center; align-items:center; width:54px; height:54px; background:var(--sky-soft); color:var(--accent); border-radius:50%; }
.empty-icon .icon { width:25px; height:25px; }
.pagination { display:flex; align-items:center; gap:5px; flex-wrap:wrap; margin:24px 0; font-size:11px; }
.pagination>a,.pagination>span:not(.pagination-total) { padding:6px 11px; background:var(--card); border:1px solid var(--line); border-radius:4px; }
.pagination>span.current { background:var(--navy); color:#fff; border-color:var(--navy); }
.pagination .pagination-total { margin-left:auto; color:var(--muted); }
form.stack,.stack { display:grid; gap:16px; }
label { display:grid; gap:7px; font-size:12px; font-weight:600; }
input,select,textarea { padding:10px 12px; border:1px solid var(--line); border-radius:4px; background:var(--card); color:var(--text); font-size:12px; min-width:0; }
input:focus,select:focus,textarea:focus { outline:2px solid var(--accent); outline-offset:1px; }
input::placeholder,textarea::placeholder { color:var(--muted); font-weight:400; opacity:.8; }
textarea { resize:vertical; line-height:1.7; }
input[type=file] { width:100%; background:var(--head); font-weight:400; }
input[type=checkbox] { accent-color:var(--accent); width:15px; height:15px; }
.check-label { display:flex; gap:9px; align-items:center; font-weight:450; }
.error { color:var(--danger); font-size:12px; font-weight:500; }
.field-hint { margin:-8px 0 0; font-weight:400; }
.inline-form { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.inline-form input { flex:1; }
.form-footer { display:flex; align-items:center; gap:16px; margin-top:6px; }
.editor { border:1px solid var(--line); border-radius:5px; overflow:hidden; }
.editor-toolbar { display:flex; align-items:center; gap:4px; padding:7px 10px; background:var(--head); border-bottom:1px solid var(--line); }
.editor-toolbar button { padding:4px 7px; border:0; font-size:11px; background:transparent; color:var(--text); min-width:26px; }
.editor-toolbar button:hover { background:var(--line); }
.editor-toolbar>span { margin-left:auto; font-size:9px; color:var(--muted); }
.editor-toolbar button.preview-button { color:var(--accent); border-left:1px solid var(--line); padding-left:12px; margin-left:6px; }
.editor textarea { display:block; border:0; border-radius:0; width:100%; font-size:13px; padding:16px; }
.editor textarea:focus { outline-offset:-2px; }
.post-preview:empty { display:none; }
.post-preview:not(:empty) { padding:18px; border:1px dashed var(--accent); border-radius:4px; background:var(--head); }
.upload-details { padding:14px; border:1px dashed var(--line); border-radius:4px; }
.upload-details summary { cursor:pointer; font-size:11px; color:var(--accent); display:flex; align-items:center; gap:7px; flex-wrap:wrap; list-style:none; }
.upload-details summary>span { margin-left:auto; font-size:10px; }
.upload-details[open] summary { margin-bottom:16px; }
.upload-details summary b { font-weight:inherit; overflow-wrap:anywhere; }
.upload-thumb { display:block; max-width:220px; max-height:140px; margin:10px 0 4px; border:1px solid var(--line); border-radius:4px; object-fit:contain; }
.discussion-heading { max-width:1000px; margin:0 0 30px; }
.discussion-heading h1 { overflow-wrap:anywhere; }
.discussion-heading .topic-flags { margin-bottom:12px; }
.discussion-byline { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; font-size:11px; color:var(--muted); }
.discussion-byline>a { display:flex; align-items:center; gap:8px; color:var(--text); font-weight:600; }
.discussion-byline .avatar { width:25px; height:25px; font-size:10px; }
.discussion-tools { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:24px; }
.posts { display:grid; gap:14px; }
.forum-post { display:grid; grid-template-columns:150px minmax(0,1fr); background:var(--card); border:1px solid var(--line); border-radius:7px; scroll-margin-top:20px; overflow:hidden; }
.forum-post:target { border-color:var(--accent); }
.post-author { padding:18px 12px; border-right:1px solid var(--line); display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; font-size:10px; color:var(--muted); background:color-mix(in srgb,var(--head) 60%,var(--card)); }
.post-author>.avatar { width:44px; height:44px; font-size:18px; margin-bottom:4px; }
.post-author .author-name { color:var(--text); font-weight:650; font-size:12px; overflow-wrap:anywhere; text-align:center; }
.post-author .member-role { font-size:10px; margin:0 0 4px; }
.post-author .tag { margin:2px 0 4px; }
.post-main { min-width:0; padding:16px 22px 0; }
.post-meta { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:10px; margin-bottom:10px; }
.post-meta>a { color:var(--muted); }
.rich-text { font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.rich-text p { margin:0 0 16px; }
.rich-text h1 { font-size:24px; }.rich-text h2 { font-size:21px; }.rich-text h3 { font-size:17px; }
.rich-text h1,.rich-text h2,.rich-text h3 { margin-top:24px; }
.rich-text blockquote { margin:16px 0; border-left:3px solid var(--amber); background:var(--head); padding:12px 18px; color:var(--muted); }
.rich-text blockquote>:last-child { margin-bottom:0; }
.rich-text ul,.rich-text ol { padding-left:24px; }
.rich-text li { margin:6px 0; }
.rich-text hr { border:0; border-top:1px solid var(--line); margin:24px 0; }
.rich-text th,.rich-text td { padding:8px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.rich-text th { background:var(--head); font-size:10px; letter-spacing:.8px; text-transform:uppercase; color:var(--muted); }
.rich-text pre { padding:16px; background:var(--head); border:1px solid var(--line); border-radius:4px; overflow:auto; }
.rich-text code { font-size:12px; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; background:var(--head); padding:2px 4px; border-radius:3px; }
.rich-text pre code { padding:0; background:transparent; }
.rich-text table { display:block; overflow:auto; width:max-content; max-width:100%; border-collapse:collapse; margin:16px 0; }
.rich-text td,.rich-text th { border:1px solid var(--line); padding:8px 12px; overflow-wrap:break-word; }
.rich-text img { max-height:700px; object-fit:contain; }
.rich-text>:last-child { margin-bottom:0; }
.post-image-link { display:block; margin-top:20px; }
.post-image { display:block; max-width:100%; height:auto; max-height:750px; object-fit:contain; object-position:left center; border-radius:4px; }
.edited-note { font-size:10px; color:var(--muted); margin:20px 0 0; font-style:italic; }
.signature { margin:22px 0 0; padding:12px 0 0; border-top:1px solid var(--line); font-size:11px; color:var(--muted); white-space:pre-wrap; }
.post-actions { margin-top:14px; padding:10px 0; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; align-items:center; font-size:10px; }
.post-actions .actions { gap:18px; }
.post-actions .actions>a { color:var(--muted); }
.reaction { background:transparent; border:1px solid var(--line); color:var(--muted); padding:4px 9px; border-radius:4px; display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:500; }
.reaction:hover,.reaction.liked { background:var(--sky-soft); border-color:var(--accent); color:var(--accent); }
.reaction .icon { width:13px; height:13px; }
.reaction-count { font-weight:650; }
.reaction.liked .icon { fill:currentColor; }
.post-options { position:relative; }
.post-options summary { list-style:none; cursor:pointer; font-weight:700; letter-spacing:2px; padding:2px 10px; }
.post-options>div { position:absolute; bottom:100%; right:0; background:var(--card); border:1px solid var(--line); border-radius:4px; box-shadow:0 6px 20px #0001; min-width:140px; padding:6px; z-index:5; }
.post-options a,.post-options form { display:block; padding:6px 10px; }
.post-options button { font-size:10px; }
.danger-text { color:var(--danger)!important; }
.answer-label { background:var(--success-bg); color:var(--success); padding:8px 12px; font-size:11px; border-radius:4px; }
.is-answer { border-color:#8cb9a5; }
.removed-post { font-size:12px; font-style:italic; color:var(--muted); }
.reply-card { margin-top:28px; scroll-margin-top:20px; }
.join-reply { padding:30px; display:flex; align-items:center; gap:22px; }
.join-reply h2 { font-size:19px; margin-bottom:7px; }
.join-reply p { margin:0; font-size:12px; color:var(--muted); }
.moderator-tools { margin-top:24px; }
.moderator-tools>summary,.history-entry>summary { padding:14px 20px; font-size:12px; cursor:pointer; }
.moderator-tools .inline-form { font-size:11px; }
.notice { padding:14px 18px; border:1px solid var(--line); border-left:3px solid var(--accent); background:var(--sky-soft); border-radius:4px; font-size:12px; margin-bottom:24px; }
.notice.success { border-left-color:var(--success); background:var(--success-bg); color:var(--success); }
.notice.warning { border-left-color:var(--amber); background:#fff5e4; color:#8b6631; }
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.gallery-card { background:var(--card); border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.gallery-image { display:flex; align-items:center; justify-content:center; height:225px; background:var(--head); padding:15px; }
.gallery-image img { max-width:100%; max-height:100%; object-fit:contain; }
.gallery-image>.icon { width:50px; height:50px; color:var(--muted); }
.gallery-info { padding:18px; }
.gallery-info h2 { font-size:15px; margin:0 0 10px; }
.gallery-info h2 a { color:var(--text); }
.gallery-info p { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; color:var(--muted); margin:0; }
.gallery-info p .icon { width:12px; height:12px; margin-left:7px; }
.dispatch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.dispatch-card .card-body { padding:28px; }
.dispatch-card .eyebrow { font-size:9px; }
.dispatch-card h2 { font-size:24px; line-height:1.35; }
.dispatch-card h2 a { color:var(--text); }
.dispatch-card .excerpt { font-size:12px; color:var(--muted); display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.dispatch-byline { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:18px; border-top:1px solid var(--line); font-size:10px; }
.dispatch-byline>a { display:flex; align-items:center; gap:8px; }
.dispatch-byline .avatar { width:25px; height:25px; font-size:11px; }
.dispatch-byline .icon { width:13px; height:13px; }
.history-entry { margin-bottom:16px; }
.button.ghost { background:transparent; color:#e0eaf0; border-color:#4f6e84; }
.button.ghost:hover { background:transparent; border-color:var(--amber); color:#fff; }
.showcase { position:relative; margin-bottom:20px; border-radius:6px; overflow:hidden; background:var(--navy); }
.showcase-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; scrollbar-width:none; }
.showcase-track::-webkit-scrollbar { display:none; }
.showcase-track:focus-visible { outline-offset:-3px; }
.showcase-slide { flex:0 0 100%; display:flex; flex-direction:column; margin:0; scroll-snap-align:start; }
.showcase-slide img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:left top; border-bottom:4px solid var(--amber); }
.showcase-slide figcaption { flex:1; display:flex; flex-direction:column; gap:3px; padding:13px 150px 15px 20px; color:#dbe6ee; }
.showcase-slide figcaption strong { color:var(--amber-2); font-size:17px; letter-spacing:-.2px; }
.showcase-slide figcaption span { font-size:13px; line-height:1.5; }
.showcase-arrows { position:absolute; top:0; left:0; right:0; aspect-ratio:16/9; display:flex; align-items:center; justify-content:space-between; padding:0 12px; pointer-events:none; }
.showcase-arrow { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; padding:0; border:0; border-radius:50%; background:rgba(16,46,70,.85); color:#fff; cursor:pointer; pointer-events:auto; box-shadow:0 1px 4px rgba(0,0,0,.25); }
.showcase-arrow:hover { background:var(--amber); color:var(--navy); }
.showcase-arrow .icon { width:18px; height:18px; }
.showcase-arrow.prev .icon { transform:scaleX(-1); }
.showcase-dots { position:absolute; right:20px; bottom:18px; display:flex; gap:7px; }
.showcase-dots button { width:9px; height:9px; padding:0; border:0; border-radius:50%; background:#5f7d93; cursor:pointer; }
.showcase-dots button:hover { background:#8fb0c6; }
.showcase-dots button[aria-current="true"] { background:var(--amber); width:22px; border-radius:5px; }
.panel { background:var(--card); border:1px solid var(--line); border-top:3px solid var(--navy); border-radius:6px; overflow:hidden; }
.col-main>.panel { margin-bottom:20px; }
.panel-title { display:flex; align-items:center; gap:10px; margin:0; padding:10px 14px; font-size:14px; font-weight:700; letter-spacing:0; line-height:1.3; border-bottom:1px solid var(--line); }
.panel-title .sign { display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:4px; background:var(--amber); color:var(--navy); flex:none; }
.panel-title .sign .icon { width:15px; height:15px; stroke-width:2; }
.panel-name { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.panel-title>a { display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:600; white-space:nowrap; }
.panel-title>a .icon { width:13px; height:13px; }
.panel-body { margin:0; padding:14px 16px; }
.panel-body>:last-child { margin-bottom:0; }
.panel-body>p { margin-bottom:12px; font-size:13px; line-height:1.6; }
.panel-empty { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:14px 16px; color:var(--muted); }
.panel-empty p { margin:0; }
.panel .topic-list { border:0; border-radius:0; }
.panel .compact-topics { padding:0 16px; }
.panel .compact-topics li { padding:10px 0; }
.panel .stat-list>div { padding:4px 0; }
.panel-links { list-style:none; margin:0; padding:8px 0; }
.panel-links li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 16px; font-size:13px; }
.panel-facts { padding-left:32px; font-size:13px; }
.panel-facts li { margin-bottom:8px; }
.table-scroll { overflow-x:auto; }
table.grid.worlds-table th,table.grid.worlds-table td { padding:11px 16px; vertical-align:top; }
table.grid td.table-empty { padding:20px 16px; text-align:center; color:var(--muted); white-space:normal; }
.news-lines { list-style:none; margin:0; padding:0; }
.news-lines li { display:grid; grid-template-columns:58px minmax(0,1fr); gap:14px; padding:12px 16px; border-bottom:1px solid var(--line); }
.news-lines li:last-child { border-bottom:0; }
.news-lines time { font-size:13px; font-weight:700; line-height:1.35; white-space:nowrap; font-variant-numeric:tabular-nums; }
.news-lines time span { display:block; font-size:10px; font-weight:500; color:var(--muted); }
.news-lines a { font-size:14px; font-weight:650; color:var(--text); }
.news-lines p { margin:2px 0 0; font-size:12px; color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.home-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:14px 16px; }
.home-gallery a { min-width:0; color:var(--text); font-size:12px; font-weight:600; line-height:1.4; }
.home-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:4px; background:var(--head); margin-bottom:6px; }
.home-gallery span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.home-gallery small { color:var(--muted); font-size:11px; font-weight:400; }
.home-airlines { list-style:none; margin:0; padding:6px 0; }
.home-airlines li { display:flex; gap:10px; align-items:flex-start; padding:8px 16px; font-size:13px; }
.home-airlines .career-mark { flex:none; width:28px; height:28px; }
.home-airlines a { font-weight:650; }
.home-airlines .career-code { margin-left:6px; }
.home-airlines small { display:block; color:var(--muted); font-size:12px; line-height:1.5; }
.home-sign-in form { gap:12px; }
.home-sign-in .auth-or { margin:14px 0; }
.home-sign-in .auth-switch { padding-top:12px; }

:where(:root[data-theme="dark"]) .panel { border-top-color:#3b7092; }

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme])) .panel { border-top-color:#3b7092; }

}
@media(max-width:560px) {
    .home-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .news-lines li { grid-template-columns:48px minmax(0,1fr); gap:10px; padding:11px 14px; }
    .showcase-slide figcaption { padding:11px 16px 34px; }
    .showcase-slide figcaption strong { font-size:15px; }
    .showcase-arrows { display:none; }
    .showcase-dots { left:16px; right:auto; bottom:14px; }
}
.home-section-header { display:flex; align-items:center; justify-content:space-between; margin:0 0 18px; }
.home-section-header h2 { margin:0; font-size:22px; }
.home-section-header>a { font-size:11px; }
.news-item { display:grid; grid-template-columns:70px minmax(0,1fr); gap:20px; padding:22px; border-bottom:1px solid var(--line); }
.news-item:last-child { border-bottom:0; }
.news-calendar { display:flex; flex-direction:column; align-items:center; color:var(--muted); font-size:10px; border-right:1px solid var(--line); padding-right:20px; }
.news-calendar strong { font-size:26px; line-height:1.2; color:var(--text); font-weight:550; }
.news-item h3 { font-size:16px; margin:0 0 6px; }
.news-item h3 a { color:var(--text); }
.news-item p { font-size:12px; margin:0; color:var(--muted); }
.news-item .excerpt { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.news-article { max-width:780px; margin:0 auto; }
.news-article .article-body { padding:32px; }
.news-article .article-body>.rich-text { font-size:14px; line-height:1.95; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin:26px 0; }
.feature-grid .card-body { padding:25px; }
.feature-grid .icon { width:25px; height:25px; color:var(--accent); margin-bottom:18px; }
.feature-grid h2 { font-size:17px; }.feature-grid p { font-size:12px; color:var(--muted); }
.prose { font-size:13px; line-height:1.9; }
.prose h2 { font-size:22px; margin-top:32px; }.prose h3 { font-size:17px; margin-top:25px; }
.prose ul,.prose ol { padding-left:22px; }.prose li { margin:10px 0; }
.prose .lead { font-size:17px; line-height:1.8; color:var(--muted); }
.prose>:first-child { margin-top:0; }
.prose-card { padding:32px; }
.landing-actions { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 18px; }.landing-faq { margin-top:18px; }.landing-faq h2 { margin-top:0; }.landing-faq h3 { font-size:15px; margin:18px 0 4px; }.landing-faq p { margin:0; color:var(--ink-2,inherit); }.landing-faq + .landing-actions { margin-top:18px; }
.prose-card>.rich-text>:first-child { margin-top:0; }
.prose-card .rich-text a:has(>img) { display:block; margin:6px 0 4px; }
.prose-card .rich-text img { display:block; width:100%; height:auto; max-height:none; border:1px solid var(--line); border-radius:6px; box-shadow:0 2px 10px rgba(18,50,77,.08); }
.guide-pager { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:20px; }
.guide-pager a { display:flex; flex-direction:column; gap:2px; padding:14px 18px; background:var(--card); border:1px solid var(--line); border-radius:7px; font-weight:650; font-size:13px; }
.guide-pager a:hover { border-color:var(--accent); text-decoration:none; }
.guide-pager a span { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
.guide-pager a.next { text-align:right; grid-column:2; }
.guide-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:28px; align-items:start; }
.guide-nav { position:sticky; top:20px; display:grid; gap:3px; padding:14px; background:var(--card); border:1px solid var(--line); border-radius:6px; }
.guide-nav a { display:block; padding:10px 12px; font-size:12px; color:var(--muted); border-radius:4px; }
.guide-nav a.active { color:var(--accent); background:var(--sky-soft); font-weight:650; }
.guide-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.guide-section+.guide-section { margin-top:28px; }
.guide-section-title { margin:0 0 12px; padding-bottom:8px; border-bottom:2px solid var(--accent); font-size:13px; font-weight:750; letter-spacing:1px; text-transform:uppercase; color:var(--accent); }
.guide-nav-section { margin:10px 12px 2px; font-size:9px; font-weight:750; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
.guide-nav-section:first-of-type { margin-top:2px; }
.guide-card { display:block; padding:24px; }
.guide-card:hover { border-color:var(--accent); text-decoration:none; }
.guide-card h3 { font-size:18px; margin:0 0 6px; color:var(--text); }
.guide-card p { font-size:12px; color:var(--muted); }
.guide-card>span { font-size:11px; font-weight:650; }
.faq-item { border-bottom:1px solid var(--line); padding:16px 0; }
.faq-item summary { font-size:14px; font-weight:600; cursor:pointer; }
.faq-item p { padding-top:14px; margin:0; font-size:13px; color:var(--muted); }
ul.links { list-style:none; display:grid; gap:10px; padding:0; margin:0; font-size:12px; }
ul.card-body.links { padding:16px 20px; }
.site { background:#0b2436; color:#8ba6b8; padding:34px 0; font-size:11px; }
.footer-inner { display:flex; justify-content:space-between; gap:35px; align-items:flex-start; }
.footer-brand { color:#e0e9ee; font-size:17px; font-weight:600; }
.footer-inner p { margin:7px 0 0; }
.footer-inner .fine-print { font-size:9px; color:#708c9f; }
.site nav { display:grid; grid-template-columns:repeat(2,auto); gap:9px 36px; }
.site nav a { color:#a5bdcc; }
.back-top { color:#a5bdcc; font-size:10px; }
table.member-table td { vertical-align:middle; padding-top:8px; padding-bottom:8px; }
.member-table th a { color:inherit; }
.member-table th a.active { color:var(--accent); }
.member-table th a.active::after { content:" ↓"; }
.member-cell { display:inline-flex; align-items:center; gap:10px; color:var(--text); }
.member-cell .avatar { width:30px; height:30px; font-size:12px; }
.member-cell+.tag { margin-left:8px; }
.recent-posts { list-style:none; margin:0; padding:0; }
.recent-posts li { padding:14px 20px; border-bottom:1px solid var(--line); }
.recent-posts li:last-child { border-bottom:0; }
.recent-posts a { font-weight:650; font-size:13px; }
.recent-posts p { margin:3px 0 2px; font-size:12px; color:var(--text); }
.recent-posts time { font-size:11px; color:var(--muted); }
.member-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.member-card { padding:22px; display:flex; gap:15px; align-items:flex-start; }
.member-card .avatar { width:45px; height:45px; font-size:18px; }
.member-card h2 { font-size:14px; margin:0 0 5px; }
.member-card p { font-size:10px; color:var(--muted); margin:8px 0 0; }
.member-card .member-role { font-size:10px; color:var(--muted); }
.profile-banner { background:var(--navy); padding:36px; border-radius:8px 8px 0 0; display:flex; align-items:center; gap:24px; color:#b7cbd8; }
.profile-banner .avatar { width:85px; height:85px; font-size:35px; border:3px solid #ffffff40; }
.profile-banner h1 { color:#fff; margin:0 0 8px; font-size:34px; }
.profile-banner p { margin:10px 0 0; font-size:11px; }
.profile-banner .heading-actions { margin-left:auto; }
.profile-stats { display:flex; gap:40px; padding:18px 36px; background:var(--card); border:1px solid var(--line); border-top:0; border-radius:0 0 7px 7px; margin-bottom:28px; }
.profile-stats>span { color:var(--muted); font-size:11px; }.profile-stats strong { color:var(--text); font-size:17px; margin-right:6px; }
.profile-about p { white-space:pre-wrap; font-size:12px; }
.settings-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; align-items:start; }
.settings-grid>.col-main { display:grid; gap:24px; }.settings-grid>.col-main>.card { margin:0; }
.check-group { display:grid; gap:12px; padding-top:10px; border-top:1px solid var(--line); }
.message-list { background:var(--card); border:1px solid var(--line); border-radius:7px; overflow:hidden; }
.message-row { position:relative; display:grid; grid-template-columns:40px minmax(0,1fr) 130px; gap:16px; align-items:center; padding:15px 20px; border-bottom:1px solid var(--line); }
.message-row:hover,.notification-row:hover { background:var(--head); }
.message-row h2 a::after,.notification-row .notification-title::after { content:""; position:absolute; inset:0; }
.message-row>.avatar { position:relative; z-index:1; }
.message-row:last-child { border-bottom:0; }
.message-row h2 { font-size:14px; margin:0 0 5px; }.message-row p { color:var(--muted); font-size:11px; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.message-row .message-date { font-size:11px; text-align:right; color:var(--muted); }
.message-row.is-unread h2 { font-weight:750; }
.message-row:not(.is-unread) h2 a { color:color-mix(in srgb,var(--text) 82%,var(--muted)); font-weight:550; }
.message-row.is-unread>.avatar::after,.notification-row.is-unread>.avatar::after { content:""; position:absolute; top:-1px; right:-1px; width:9px; height:9px; border-radius:50%; background:var(--accent); border:2px solid var(--card); }
.conversation-messages { display:grid; gap:20px; }
.private-message { background:var(--card); border:1px solid var(--line); border-radius:6px; padding:23px; }
.private-message header { display:flex; align-items:center; gap:10px; font-size:12px; font-weight:650; margin-bottom:18px; }
.private-message time { color:var(--muted); font-size:10px; font-weight:400; margin-left:auto; }
.private-message.is-own { border-left:3px solid var(--accent); }
.notification-row { position:relative; display:grid; grid-template-columns:32px minmax(0,1fr) auto; gap:14px; padding:12px 20px; border-bottom:1px solid var(--line); align-items:center; }
.notification-row>.avatar { position:relative; width:32px; height:32px; font-size:13px; }
.notification-row:last-child { border-bottom:0; }
.notification-row.is-unread { background:color-mix(in srgb,var(--sky-soft) 70%,var(--card)); }
.notification-row p { margin:0; font-size:13px; min-width:0; }
.notification-row time { font-size:11px; color:var(--muted); white-space:nowrap; }
.notification-row .notification-title { font-weight:650; }
.notification-row:not(.is-unread) .notification-title { font-weight:500; }
.notification-row .button { font-size:10px; padding:6px 12px; }
.moderation-item { margin-bottom:22px; }.moderation-item .card-body>.rich-text { max-height:240px; overflow:auto; background:var(--head); padding:15px; border-radius:4px; margin:16px 0; }
.moderation-item .report-reason { white-space:pre-wrap; padding:12px 15px; border-left:3px solid var(--amber); font-size:12px; background:var(--head); }
.moderation-item .inline-form { padding-top:16px; border-top:1px solid var(--line); }
.table-scroll { overflow-x:auto; }
table.grid { width:100%; border-collapse:collapse; font-size:12px; }
table.grid th { font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); background:var(--head); }
table.grid th,table.grid td { text-align:left; padding:14px 18px; border-bottom:1px solid var(--line); vertical-align:top; }
table.grid tr:last-child td { border-bottom:0; }
table.grid td.date { white-space:nowrap; color:var(--muted); font-size:11px; }
table.grid .num { text-align:right; }
.auth-heading { text-align:center; margin:0 0 25px; }.auth-heading h1 { font-size:29px; }.auth-heading p { font-size:12px; color:var(--muted); }
.auth-card .card-body { padding:28px; }.auth-card form { gap:19px; }.sign-in form>button { width:100%; margin-top:4px; }
.button.steam { width:100%; background:#171a21; color:#fff; border-color:#171a21; font-weight:550; }.button.steam:hover { background:#2a475e; border-color:#2a475e; }.button.google + .button.steam { margin-top:10px; }.button.google { width:100%; background:#fff; color:#1f1f1f; border-color:#747775; font-weight:550; }.button.google:hover { background:#f6f8f9; border-color:#5f6368; }.g-mark { width:18px; height:18px; flex:none; }
.auth-or { display:flex; align-items:center; gap:12px; margin:19px 0; font-size:11px; color:var(--muted); }.auth-or::before,.auth-or::after { content:""; flex:1; border-top:1px solid var(--line); }
.auth-switch { text-align:center; padding-top:19px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.htmx-request { cursor:progress; }

:root[data-theme="dark"] { color-scheme:dark; --navy:#0b2031; --navy-2:#133248; --button:#2e6c92; --button-hover:#347ca5; --on-color:#102330; --bg:#101c24; --card:#172730; --text:#dce5e9; --muted:#8da2ae; --line:#2a3c46; --head:#1b2e39; --accent:#8ebbd5; --sky-soft:#203744; --success:#90c5ab; --success-bg:#1c3a32; --danger:#e19489; }
:where(:root[data-theme="dark"]) .board-symbol.kind-showcase { background:#332c3e; color:#bc9ed1; }
:where(:root[data-theme="dark"]) .board-symbol.kind-help { background:#243d33; color:#a1c5b0; }
:where(:root[data-theme="dark"]) .board-symbol.kind-press { background:#423829; color:#e0c191; }
:where(:root[data-theme="dark"]) .board-symbol.kind-issue { background:#402f2b; color:#d9a490; }
:where(:root[data-theme="dark"]) .notice.warning, :where(:root[data-theme="dark"]) .tag.status-under-review { background:#403525; color:#e0bf84; }
:where(:root[data-theme="dark"]) .tag.danger { background:#402927; }
:where(:root[data-theme="dark"]) .tag.status-planned { background:#352e46; color:#baa3db; }
:where(:root[data-theme="dark"]) .tag.tournament { background:#3d3520; color:#e3c66f; }
@media (prefers-color-scheme: dark) {
:root:not([data-theme]) { color-scheme:dark; --navy:#0b2031; --navy-2:#133248; --button:#2e6c92; --button-hover:#347ca5; --on-color:#102330; --bg:#101c24; --card:#172730; --text:#dce5e9; --muted:#8da2ae; --line:#2a3c46; --head:#1b2e39; --accent:#8ebbd5; --sky-soft:#203744; --success:#90c5ab; --success-bg:#1c3a32; --danger:#e19489; }
:where(:root:not([data-theme])) .board-symbol.kind-showcase { background:#332c3e; color:#bc9ed1; }
:where(:root:not([data-theme])) .board-symbol.kind-help { background:#243d33; color:#a1c5b0; }
:where(:root:not([data-theme])) .board-symbol.kind-press { background:#423829; color:#e0c191; }
:where(:root:not([data-theme])) .board-symbol.kind-issue { background:#402f2b; color:#d9a490; }
:where(:root:not([data-theme])) .notice.warning, :where(:root:not([data-theme])) .tag.status-under-review { background:#403525; color:#e0bf84; }
:where(:root:not([data-theme])) .tag.danger { background:#402927; }
:where(:root:not([data-theme])) .tag.status-planned { background:#352e46; color:#baa3db; }
:where(:root:not([data-theme])) .tag.tournament { background:#3d3520; color:#e3c66f; }
}
@media(max-width:1050px) {
    .columns { grid-template-columns:minmax(0,1fr) 250px; gap:22px; }.board-row { grid-template-columns:40px minmax(0,1fr) 40px; gap:12px; padding:18px 15px; }.board-latest { display:none; }
    .menu { gap:20px; }.gallery-grid,.member-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .topic-row { grid-template-columns:32px minmax(0,1fr) 40px 110px; gap:12px; padding:17px; }.topic-list-head { grid-template-columns:1fr 40px 110px; gap:15px; }
    .topic-row>.avatar { width:32px; height:32px; }.topic-date { font-size:10px; }.topic-date>span { font-size:9px; }
    .guide-layout { grid-template-columns:210px minmax(0,1fr); gap:22px; }.guide-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.filter-bar { flex-wrap:wrap; }.filter-query { min-width:170px; }
}
@media(max-width:780px) {
    .wrap { padding-left:20px; padding-right:20px; }.columns,.settings-grid { grid-template-columns:1fr; }.col-side { grid-template-columns:repeat(2,minmax(0,1fr)); }.col-side>.side-note { grid-column:1/-1; }
    .masthead { min-height:85px; }.logo { font-size:24px; gap:10px; }.logo-mark { width:40px; height:40px; }.logo small { font-size:6px; letter-spacing:1.5px; }.menu { gap:21px; }.menu a { font-size:11px; }.play-link { font-size:10px; gap:5px; }
    .page-heading { align-items:flex-start; gap:20px; }.heading-actions>.button { font-size:11px; padding:9px 13px; }.section-toolbar { gap:15px; }.tabs { gap:18px; }.tabs a { font-size:11px; }.search-form { width:210px; }
    .board-row { grid-template-columns:43px minmax(0,1fr) 45px 155px; }.board-latest { display:block; padding-left:12px; }
    .feature-grid { grid-template-columns:1fr; }.feature-grid .card-body { padding:22px; }.feature-grid .icon { float:left; margin:0 18px 0 0; }.feature-grid h2 { margin-top:0; }
    .guide-layout { grid-template-columns:minmax(0,1fr); }.guide-nav { position:static; display:flex; overflow:auto; padding:8px; }.guide-nav a { white-space:nowrap; }.guide-nav p { display:none; }
    .footer-inner { flex-wrap:wrap; }.footer-inner>div { width:50%; }.site nav { gap:9px 20px; }.back-top { display:none; }
}
@media(max-width:560px) {
    .wrap { padding-left:16px; padding-right:16px; }.page { padding-top:18px; padding-bottom:40px; }.masthead { min-height:77px; gap:12px; }.logo { font-size:21px; gap:8px; }.logo-mark { width:33px; height:33px; }.logo small { display:none; }.account { gap:12px; }.account .button { padding:8px 10px; font-size:10px; }.account .button .icon { display:none; }.account .sign-in { font-size:10px; }.account-menu .who { display:none; }.account-menu summary { gap:5px; }.account-menu .avatar { width:30px; height:30px; font-size:12px; }
    .nav-inner { padding-right:0; gap:10px; }.menu { gap:20px; padding-right:16px; }.menu a { padding:12px 0 10px; font-size:11px; }.play-link { display:none; }
    h1 { font-size:29px; letter-spacing:-.9px; }.eyebrow { font-size:9px; letter-spacing:1.5px; }.breadcrumbs { margin-bottom:23px; font-size:9px; gap:7px; }
    .page-heading { flex-direction:column; margin:0 0 24px; gap:18px; }.page-description { font-size:12px; }.section-toolbar { flex-direction:column; align-items:stretch; padding-bottom:16px; margin-bottom:24px; }.search-form { width:100%; }.tabs { gap:20px; }.tabs a { font-size:11px; }
    .board-row { grid-template-columns:35px minmax(0,1fr) 30px; gap:12px; padding:18px 12px; }.board-symbol { width:35px; height:35px; border-radius:7px; }.board-symbol .icon { width:20px; height:20px; }.board-description h3 { font-size:12px; gap:5px; }.board-description p { font-size:10px; line-height:1.6; }.board-count strong { font-size:13px; }.board-latest { display:none; }.board-description .tag { font-size:8px; }.board-footer { font-size:9px; gap:10px; }.board-footer .link { font-size:9px; }
    .col-side { grid-template-columns:1fr; }
    .topic-list-head { display:none; }.topic-row { grid-template-columns:30px minmax(0,1fr) 28px; padding:17px 12px; gap:11px; }.topic-row>.avatar { width:30px; height:30px; font-size:12px; }.topic-info h3 { font-size:12px; }.topic-info>p { font-size:10px; gap:3px 0; }.topic-date { display:none; }.topic-replies>strong { font-size:12px; }.topic-replies>span { display:block; font-size:8px; color:var(--muted); }.tag { font-size:8px; }
    .filter-bar { gap:8px; padding:10px; }.filter-query { width:100%; flex-basis:100%; }.filter-bar select { flex:1; max-width:none; padding:8px; font-size:10px; }.filter-bar .button { padding:8px; font-size:10px; }
    .discussion-byline { font-size:10px; gap:10px; }.discussion-tools { flex-wrap:wrap; gap:12px; }.discussion-tools>.button { font-size:10px; }.discussion-tools>.actions { margin-left:auto; gap:6px; }.discussion-tools .button { padding:6px 9px; }.discussion-heading { margin-bottom:23px; }.pagination { font-size:10px; gap:4px; }.pagination>a,.pagination>span:not(.pagination-total) { padding:5px 9px; }.pagination-total { width:100%; margin-top:6px; }
    .forum-post { grid-template-columns:1fr; }.post-author { flex-direction:row; padding:13px 16px; border:0; border-bottom:1px solid var(--line); gap:9px; }.post-author>.avatar { width:30px; height:30px; font-size:12px; margin:0; }.post-author>.author-name { font-size:11px; }.post-author>span:not(.tag) { display:none; }.post-author .tag { margin:0 0 0 auto; font-size:8px; }.post-author .tag.subtle { display:none; }.post-main { padding:16px 16px 0; }.post-meta { font-size:9px; margin-bottom:17px; }.rich-text { font-size:12px; }.post-actions { margin-top:20px; }.post-actions .actions { gap:12px; }.post-options summary { padding-right:0; }.post-actions .link { font-size:9px; }
    .card-body { padding:18px; }.editor-toolbar { padding:6px; gap:1px; }.editor-toolbar>span { display:none; }.editor-toolbar button.preview-button { margin-left:auto; }.editor textarea { padding:13px; font-size:12px; }.upload-details summary { font-size:10px; }.upload-details summary>span { font-size:9px; margin-left:0; }.form-footer { flex-wrap:wrap; }.join-reply { padding:22px; gap:15px; }.join-reply>.empty-icon { width:40px; height:40px; flex:none; }.join-reply h2 { font-size:16px; }.join-reply p { font-size:11px; }
    .home-section-header h2 { font-size:20px; }.news-item { padding:20px 16px; gap:14px; grid-template-columns:50px 1fr; }.news-calendar { padding-right:14px; }.news-calendar strong { font-size:23px; }.news-item h3 { font-size:14px; }.news-item p { font-size:11px; }.home-section-header>a { font-size:10px; }
    .gallery-grid,.dispatch-grid,.member-grid,.guide-grid { grid-template-columns:1fr; }.gallery-image { height:240px; }.dispatch-card .card-body { padding:22px; }.dispatch-card h2 { font-size:22px; }.profile-banner { padding:24px 20px; flex-wrap:wrap; gap:18px; }.profile-banner .avatar { width:65px; height:65px; font-size:26px; }.profile-banner h1 { font-size:26px; overflow-wrap:anywhere; }.profile-banner>.heading-actions { width:100%; margin:0; }.profile-banner>div:not(.heading-actions) { min-width:0; flex:1; }.profile-stats { padding:15px 20px; gap:24px; }.profile-stats>span { font-size:9px; }.profile-stats strong { font-size:14px; }
    .message-row { grid-template-columns:30px minmax(0,1fr); padding:18px 15px; gap:12px; }.message-row>.avatar { width:30px; height:30px; font-size:12px; }.message-row .message-date { grid-column:2; text-align:left; font-size:9px; }.message-row h2 { font-size:12px; }.private-message { padding:18px; }.private-message header { flex-wrap:wrap; gap:9px; }.private-message time { width:100%; margin:0 0 0 46px; font-size:9px; }
    .notification-row { padding:16px; gap:10px; }.notification-row>.avatar { width:29px; height:29px; font-size:12px; }.notification-row p { font-size:10px; }.notification-row .button { font-size:9px; padding:5px 7px; }
    .prose-card,.news-article .article-body { padding:23px; }.prose { font-size:12px; }.prose .lead { font-size:15px; }.prose h2 { font-size:20px; }.news-article .article-body>.rich-text { font-size:13px; }.guide-nav { margin-left:-16px; margin-right:-16px; border-radius:0; border-right:0; border-left:0; }.guide-nav a { font-size:11px; padding:8px 10px; }
    .footer-inner { gap:25px; }.footer-inner>div { width:100%; }.site nav { grid-template-columns:repeat(3,auto); gap:10px 18px; font-size:10px; }.footer-brand { font-size:16px; }.footer-inner .fine-print { line-height:1.8; }.narrow { margin:12px auto 30px; }.auth-card .card-body { padding:23px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
.article-back { margin-top:24px; font-size:12px; }
.faq-section { margin-top:36px; }
.guide-nav>.eyebrow { padding:6px 12px; margin:0; font-size:9px; }
.blocked-list,.recipient-list { list-style:none; margin:0; padding:0; }
.blocked-list li { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:10px 0; border-bottom:1px solid var(--line); font-size:12px; }
.blocked-list li:last-child { border:0; }
.recipient-list li { display:flex; align-items:center; gap:13px; padding:13px 0; border-bottom:1px solid var(--line); }
.recipient-list li:last-child { border:0; }
.recipient-list li>div { flex:1; font-size:12px; }
.recipient-list li>div>span { display:block; font-size:10px; color:var(--muted); }
.recipient-heading { display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line); padding-bottom:18px; font-size:12px; }
.recipient-heading>div>a { display:block; margin-top:3px; font-size:10px; }
.support-body { white-space:pre-wrap; font-size:13px; line-height:1.8; margin-bottom:20px; overflow-wrap:anywhere; }
.moderation-item .actions+.inline-form { margin-top:20px; }
.recovery-action { border-top:1px solid var(--line); margin-top:20px; padding-top:18px; }
.recovery-link { width:100%; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; margin-bottom:18px; }
.home-section-header:not(:first-child) { margin-top:32px; }
.news-item .news-calendar { padding-right:16px; }

/* Advertising */
.advertisement { margin:2rem 0; padding:14px 16px; border:1px solid var(--line); border-radius:7px; background:var(--card); }
.ad-label { font-size:10px; margin-bottom:10px; color:var(--muted); letter-spacing:.3px; }
.ad-creative { display:flex; align-items:center; gap:18px; color:inherit; overflow-wrap:anywhere; }
.ad-creative:hover { text-decoration:none; }
.ad-creative img { width:180px; max-height:120px; object-fit:contain; border-radius:4px; flex:none; }
.ad-creative strong { font-size:16px; color:var(--text); }
.ad-creative p { margin:4px 0 0; font-size:13px; color:var(--muted); }
.tab-count { display:inline-block; min-width:18px; margin-left:5px; padding:0 5px; border-radius:9px; background:var(--head); color:var(--muted); font-size:10px; font-weight:650; text-align:center; line-height:17px; }
.tabs a.active .tab-count { background:var(--sky-soft); color:var(--accent); }
.ad-columns { grid-template-columns:minmax(0,1fr) 340px; }
.ad-card { margin-bottom:24px; }
.ad-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.ad-grid>.ad-card { margin:0; }
.ad-new { margin-bottom:24px; }
.ad-new>summary { cursor:pointer; list-style:none; }
.ad-new>summary::-webkit-details-marker { display:none; }
.ad-new[open]>summary { border-bottom:1px solid var(--line); }
.ad-new[open]>summary .button,.ad-new:not([open])>summary { border-bottom:0; }
.ad-new[open]>summary .button { display:none; }
.ad-new-form { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:28px; align-items:start; }
.ad-new-preview { display:grid; gap:14px; justify-items:start; }
.ad-new-preview .ad-preview { width:100%; }
.col-side>.ad-sticky { position:sticky; top:20px; }
.ad-fine { padding:10px 18px 14px; margin:0; font-size:11px; color:var(--muted); border-top:1px solid var(--line); }
.ad-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.ad-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.ad-stat { display:flex; flex-direction:column; gap:2px; padding:16px 18px; background:var(--card); border:1px solid var(--line); border-radius:7px; font-size:12px; color:var(--muted); }
.ad-stat strong { font-size:26px; letter-spacing:-.8px; color:var(--text); line-height:1.3; }
.ad-stat a { font-size:11px; font-weight:600; }
.ad-stat.highlight { background:var(--navy); border-color:var(--navy); color:#b7c8d4; }
.ad-stat.highlight strong { color:#fff; }
.ad-stat.highlight a { color:var(--amber); }
.ad-steps { margin-bottom:24px; }
.ad-steps ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.ad-steps li { display:grid; grid-template-columns:auto minmax(0,1fr); gap:6px 12px; align-items:start; padding:18px; border-right:1px solid var(--line); }
.ad-steps li:last-child { border-right:0; }
.ad-steps li p { margin:2px 0 0; font-size:12px; color:var(--muted); }
.ad-steps li .button { grid-column:2; justify-self:start; margin-top:8px; }
.ad-step-mark { width:26px; height:26px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--amber); color:#142f44; font-weight:750; font-size:12px; }
.ad-steps li.done .ad-step-mark { background:var(--success-bg); color:var(--success); font-size:0; }
.ad-steps li.done .ad-step-mark::after { content:"✓"; font-size:13px; }
.ad-steps li.done strong { color:var(--muted); text-decoration:line-through; }
.ad-steps li.done .button { display:none; }
.ad-placements { list-style:none; margin:0; padding:0; }
.ad-placements li { display:flex; align-items:center; gap:18px; flex-wrap:wrap; padding:14px 18px; border-bottom:1px solid var(--line); font-size:13px; }
.ad-placements li:last-child { border-bottom:0; }
.ad-placement-when { display:flex; flex-direction:column; min-width:120px; }
.ad-placement-when span { font-size:11px; color:var(--muted); }
.ad-placement-ad { flex:1; display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.ad-placements .inline-form select { max-width:200px; padding:6px 10px; }
.ad-rules { margin:0; padding-left:20px; font-size:12px; display:grid; gap:9px; }
.ad-rules li::marker { color:var(--accent); font-weight:700; }
.ad-spot-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.ad-spot-card { display:flex; flex-direction:column; padding:20px 22px; border-radius:7px; background:var(--card); border:1px solid var(--line); border-top:4px solid var(--sky); font-size:12px; color:var(--muted); }
.ad-spot-card.spot-1 { background:var(--navy); border-color:var(--navy); border-top-color:var(--amber); color:#b7c8d4; }
.ad-spot-card.spot-1 strong,.ad-spot-card.spot-1 dd { color:#fff; }
.ad-spot-card.spot-1 .ad-spot-name { color:var(--amber); }
.ad-spot-card.spot-3 { border-top-color:#8fb0c2; }
.ad-spot-name { font-size:10px; font-weight:750; letter-spacing:1.6px; text-transform:uppercase; color:var(--accent); }
.ad-spot-card strong { font-size:38px; letter-spacing:-1.5px; line-height:1.2; color:var(--text); margin-top:6px; }
.ad-spot-card dl { margin:16px 0 0; padding-top:12px; border-top:1px solid color-mix(in srgb,currentColor 25%,transparent); display:grid; gap:4px; }
.ad-spot-card dl div { display:flex; justify-content:space-between; gap:10px; }
.ad-spot-card dd { margin:0; font-weight:650; color:var(--text); }
.ad-join .card-body { background:linear-gradient(135deg,var(--sky-soft),var(--card)); }
table.ad-calendar th[scope=row] { white-space:nowrap; font-size:12px; text-transform:none; letter-spacing:0; color:var(--text); background:transparent; vertical-align:middle; }
table.ad-calendar td { padding:5px 6px; width:28%; }
table.ad-calendar th[scope=row] { padding:5px 18px; }
.ad-cell { display:flex; flex-direction:column; align-items:flex-start; gap:1px; width:100%; padding:7px 12px; border-radius:5px; border:1px solid transparent; background:transparent; color:var(--text); font-weight:400; text-align:left; line-height:1.4; }
button.ad-cell { cursor:pointer; background:var(--head); }
button.ad-cell:hover { background:var(--sky-soft); border-color:var(--accent); }
button.ad-cell.selected { background:var(--sky-soft); border-color:var(--accent); box-shadow:inset 3px 0 0 var(--accent); }
button.ad-cell.mine { background:color-mix(in srgb,var(--amber) 14%,var(--card)); }
.ad-cell-high { font-size:14px; font-weight:700; }
.ad-cell-high.none { color:var(--muted); font-weight:500; }
.ad-cell-meta { font-size:11px; color:var(--muted); }
.ad-spot-pick { border:0; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.ad-spot-pick legend { font-size:12px; font-weight:600; margin-bottom:7px; padding:0; }
.ad-spot-pick label { display:block; cursor:pointer; }
.ad-spot-pick input { position:absolute; opacity:0; width:1px; height:1px; }
.ad-spot-pick span { display:flex; flex-direction:column; align-items:center; padding:9px 6px; border:1px solid var(--line); border-radius:5px; font-size:11px; font-weight:500; color:var(--muted); }
.ad-spot-pick strong { font-size:12px; color:var(--text); }
.ad-spot-pick input:checked+span { border-color:var(--accent); background:var(--sky-soft); box-shadow:inset 0 0 0 1px var(--accent); }
.ad-spot-pick input:focus-visible+span { outline:3px solid var(--amber); outline-offset:2px; }
.ad-range { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.ad-bid-total { padding:12px 14px; border-radius:5px; background:var(--head); font-size:12px; color:var(--muted); }
.ad-bid-total strong { display:block; font-size:18px; color:var(--text); }
.ad-bid-total.over { background:#faeceb; color:var(--danger); }
.ad-bid-total.over strong { color:var(--danger); }
[data-bid-submit]:disabled { cursor:not-allowed; }
table.grid td>form { margin:0; }
table.grid td>form .button.small { margin:-7px 0; }
.ad-card .card-title>span:first-child { min-width:0; overflow-wrap:anywhere; }
.ad-preview { margin:0; }
.ad-reason { margin:14px 0 0; font-size:12px; overflow-wrap:anywhere; }
.ad-card-foot { display:flex; justify-content:space-between; align-items:flex-end; gap:16px; flex-wrap:wrap; margin-top:14px; }
.ad-link { font-size:11px; overflow-wrap:anywhere; min-width:0; flex:1; }
.ad-metrics { display:flex; gap:22px; margin:0; }
.ad-metrics div { display:flex; flex-direction:column; }
.ad-metrics dt { font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }
.ad-metrics dd { margin:0; font-size:15px; font-weight:700; }
.ad-amounts { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.ad-admin-list { list-style:none; margin:0; padding:0; }
.ad-admin-list>li { padding:14px 18px; border-bottom:1px solid var(--line); }
.ad-admin-list>li:last-child { border-bottom:0; }
.ad-admin-row { display:grid; grid-template-columns:minmax(0,1fr) 150px 150px; gap:14px; align-items:center; font-size:13px; }
.ad-manage summary { cursor:pointer; font-size:11px; color:var(--accent); margin-top:6px; }
.ad-admin-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:end; margin-top:14px; }
.ad-admin-form .wide,.ad-admin-form .ad-actions { grid-column:1/-1; }
.ad-admin-form>button { justify-self:start; }
.ad-admin-form .ad-actions select { padding:7px 10px; }

:where(:root[data-theme="dark"]) .ad-stat.highlight, :where(:root[data-theme="dark"]) .ad-spot-card.spot-1 { background:#0c2232; border-color:#0c2232; }
:where(:root[data-theme="dark"]) .ad-bid-total.over { background:#402927; }

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme])) .ad-stat.highlight, :where(:root:not([data-theme])) .ad-spot-card.spot-1 { background:#0c2232; border-color:#0c2232; }
:where(:root:not([data-theme])) .ad-bid-total.over { background:#402927; }

}
@media(max-width:1050px) {
    .ad-columns { grid-template-columns:minmax(0,1fr) 300px; }
    .ad-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:780px) {
    .ad-columns { grid-template-columns:minmax(0,1fr); }
    .col-side>.ad-sticky { position:static; }
    .ad-steps ol,.ad-spot-cards,.ad-grid,.ad-new-form { grid-template-columns:minmax(0,1fr); }
    .ad-steps li { border-right:0; border-bottom:1px solid var(--line); }
    .ad-steps li:last-child { border-bottom:0; }
    .ad-admin-row { grid-template-columns:1fr 1fr; }
    .ad-admin-row>div { grid-column:1/-1; }
}
@media(max-width:560px) {
    .ad-creative { flex-direction:column; align-items:flex-start; }
    .ad-creative img { width:100%; max-height:180px; }
    .ad-stats { gap:10px; }
    .ad-stat { padding:12px 14px; }
    .ad-stat strong { font-size:20px; }
    table.ad-calendar td { padding:3px; }
    .ad-cell { padding:8px; }
    .ad-admin-form { grid-template-columns:minmax(0,1fr); }
}

/* Membership ranks: epaulette stripes, three for First Officer and four for Captain. */
.rank-insignia { display:inline-flex; align-items:center; gap:6px; font-size:9px; font-weight:750; letter-spacing:.6px; text-transform:uppercase; padding:3px 8px 3px 5px; border-radius:3px; background:var(--navy); color:var(--amber-2); line-height:1.4; white-space:nowrap; vertical-align:middle; }
.rank-insignia .stripes { display:inline-flex; flex-direction:column-reverse; gap:1.5px; width:13px; }
.rank-insignia .stripes i { display:block; height:2px; border-radius:1px; background:var(--amber); }
.rank-insignia.rank-captain { background:linear-gradient(135deg,var(--navy),var(--navy-2)); box-shadow:inset 0 0 0 1px #efbc7355; }
.rank-insignia.rank-captain .stripes i { background:var(--amber-2); }
.member-cell+.rank-insignia,.tag+.rank-insignia { margin-left:6px; }
.post-author .rank-insignia { margin:0 0 4px; }
.profile-badges { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.profile-banner .member-role { color:#b7cbd8; font-size:11px; }
.profile-banner .rank-insignia { background:#ffffff14; box-shadow:inset 0 0 0 1px #efbc7366; font-size:10px; padding:4px 10px 4px 6px; }

.membership-holders { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:0 8px; padding:10px 16px; border:1px solid var(--line); border-radius:7px; background:var(--card); font-size:12px; color:var(--muted); }
.membership-holders strong { font-size:22px; font-weight:750; color:var(--text); letter-spacing:-.3px; }
.heading-actions:has(.membership-holders) { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.rank-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:24px; }
.rank-card { display:flex; gap:18px; align-items:flex-start; padding:22px; border-radius:7px; background:var(--card); border:1px solid var(--line); font-size:12px; color:var(--muted); }
.rank-card p { margin:4px 0 0; }
.rank-card-name { display:block; font-size:19px; font-weight:750; color:var(--text); letter-spacing:-.3px; }
.rank-card-epaulette { flex:none; display:flex; flex-direction:column-reverse; justify-content:flex-start; gap:4px; width:44px; height:62px; padding:10px 8px; border-radius:6px 6px 14px 14px; background:var(--navy); }
.rank-card-epaulette i { display:block; height:5px; border-radius:2px; background:var(--amber); }
.rank-card.flight-crew .rank-card-epaulette { background:var(--head); border:1px solid var(--line); }
.rank-card.flight-crew .rank-card-epaulette i { background:#9fb2bd; }
.rank-card.captain { background:var(--navy); border-color:var(--navy); color:#b7c8d4; }
.rank-card.captain .rank-card-name { color:#fff; }
.rank-card.captain .rank-card-epaulette { background:var(--navy-2); box-shadow:inset 0 0 0 1px #efbc7355; }
.rank-card.captain .rank-card-epaulette i { background:var(--amber-2); }
.rank-card.is-yours { border-color:var(--amber); box-shadow:0 0 0 1px var(--amber); }
.rank-card-yours { display:inline-block; margin-top:10px; font-size:10px; font-weight:700; color:#9c7332; background:#fff4df; padding:2px 8px; border-radius:3px; }
.rank-card.captain .rank-card-yours { color:var(--navy); background:var(--amber-2); }

.membership-perks { list-style:none; margin:0; padding:6px 0; }
.membership-perks li { display:flex; gap:14px; padding:14px 20px; }
.membership-perks li+li { border-top:1px solid var(--line); }
.membership-perks .icon { flex:none; width:22px; height:22px; color:var(--accent); margin-top:2px; }
.membership-perks strong { font-size:13px; }
.membership-perks p { margin:2px 0 0; font-size:12px; color:var(--muted); }
.membership-facts { margin:0 0 14px; display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:14px 20px; }
.membership-facts dt { font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); }
.membership-facts dd { margin:3px 0 0; font-weight:650; }
.membership-terms { list-style:none; margin:0 0 14px; padding:0; }
.membership-terms li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); font-size:12px; }
.membership-terms li:last-child { border-bottom:0; }
.membership-terms form { display:flex; justify-content:space-between; align-items:center; gap:12px; width:100%; margin:0; }
.membership-terms form span { display:block; font-weight:650; }
.membership-terms small { color:var(--muted); font-size:10px; }
.membership-terms button { min-width:84px; padding:8px 12px; }
.membership-actions { display:flex; flex-wrap:wrap; gap:8px; }
.membership-price-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:14px; align-items:end; }
.membership-counts { border-radius:7px; border-top:1px solid var(--line); margin-bottom:16px; }
.membership-admin { margin-top:18px; padding-top:16px; border-top:1px solid var(--line); display:grid; gap:12px; }
.membership-admin h3 { margin:0; font-size:12px; }
.membership-admin p { margin:0; }
.settings-membership { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.settings-membership p { margin:0; }

:where(:root[data-theme="dark"]) .rank-card.captain { background:#0c2232; border-color:#0c2232; }
:where(:root[data-theme="dark"]) .rank-card-yours { background:#403525; color:#e0bf84; }

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme])) .rank-card.captain { background:#0c2232; border-color:#0c2232; }
:where(:root:not([data-theme])) .rank-card-yours { background:#403525; color:#e0bf84; }

}
@media(max-width:1050px) { .rank-cards { grid-template-columns:minmax(0,1fr); } }
@media(max-width:780px) { .membership-price-form { grid-template-columns:repeat(2,minmax(0,1fr)); } .membership-price-form button { grid-column:1/-1; } }
/* Member titles and profile banners. */
.member-title { display:inline-block; font-size:10px; font-weight:600; color:#9c7332; background:#fff4df; padding:1px 7px; border-radius:3px; line-height:1.6; vertical-align:middle; }
.member-cell~.member-title { margin-left:6px; }
.post-author .member-title { margin:2px 0; max-width:100%; overflow-wrap:anywhere; }
.profile-title { margin:-2px 0 8px !important; font-size:13px !important; font-weight:600; color:var(--amber-2); }
.profile-banner { position:relative; overflow:hidden; }
.profile-banner.has-image { min-height:220px; align-items:flex-end; }
.profile-banner>* { position:relative; }
.profile-banner .profile-banner-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; max-width:none; }
.profile-banner.has-image::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,#102e46f2 0%,#102e46b3 45%,#102e4620 100%); }
.profile-banner.has-image>:not(img) { z-index:1; }
.banner-preview { display:block; width:100%; aspect-ratio:5/1; object-fit:cover; border-radius:5px; margin-bottom:14px; }
.member-extra { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border-radius:6px; background:#fff4df; color:#7a5a28; }
.member-extra .icon { color:#c08a3e; width:16px; height:16px; margin-top:1px; }

/* Polls. */
.poll-tag { background:#fff4df; color:#9c7332; }
.poll-composer { border:1px solid var(--line); border-radius:6px; padding:0 16px; background:color-mix(in srgb,var(--head) 60%,var(--card)); }
.poll-composer[open] { padding-bottom:16px; }
.poll-composer summary { display:flex; align-items:center; gap:8px; padding:12px 0; font-weight:650; cursor:pointer; color:var(--accent); }
.poll-composer summary .icon { width:16px; height:16px; }
.poll-options-input { border:0; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; }
.poll-options-input legend { font-weight:600; margin-bottom:6px; padding:0; }
.poll-options-input .field-hint,.poll-options-input .error { grid-column:1/-1; margin:0; }
/* One blank option at a time after the first four; the next appears as the last is filled. */
.poll-options-input input:placeholder-shown+input:placeholder-shown:nth-of-type(n+5) { display:none; }
.membership-facts .world-next { display:block; margin-top:3px; }
.poll-settings { display:flex; flex-wrap:wrap; gap:14px 28px; align-items:end; }
.poll-upsell { display:flex; gap:8px; align-items:center; margin:0; }
.poll-upsell .icon { width:15px; height:15px; color:#c08a3e; }
.poll-card { margin-bottom:18px; border-top:3px solid var(--amber); }
.poll-head { display:flex; gap:14px; align-items:flex-start; padding:18px 20px 6px; }
.poll-head>.icon { width:28px; height:28px; padding:5px; border-radius:6px; background:#fff4df; color:#c08a3e; }
.poll-head h2 { margin:0 0 2px; font-size:17px; }
.poll-head p { margin:0; }
.poll-ballot { display:grid; gap:8px; padding:12px 20px 20px; }
.poll-choice { display:flex; gap:10px; align-items:center; padding:10px 14px; border:1px solid var(--line); border-radius:6px; font-weight:500; cursor:pointer; }
.poll-choice:hover { border-color:var(--accent); background:var(--sky-soft); }
.poll-choice:has(input:checked) { border-color:var(--accent); background:var(--sky-soft); }
.poll-results { list-style:none; margin:0; padding:12px 20px 4px; display:grid; gap:12px; }
.poll-result-label { display:flex; justify-content:space-between; gap:12px; font-size:13px; }
.poll-result-label .icon { width:14px; height:14px; color:var(--success); margin-right:4px; }
.poll-bar { display:block; width:100%; height:9px; border-radius:5px; background:var(--head); margin:4px 0 2px; }
.poll-bar rect { fill:var(--accent); }
.poll-results li.is-mine .poll-bar rect { fill:var(--amber); }
.poll-results small { font-size:11px; }
.poll-actions { display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; padding:8px 20px 18px; }
.poll-ballot .poll-actions { padding:6px 0 0; }
.poll-actions form { margin:0; }

/* Career record on profiles. */
.career-stats { border-radius:7px; border-top:1px solid var(--line); margin-bottom:12px; flex-wrap:wrap; gap:14px 34px; }
.trophy-count strong { display:inline-flex; gap:6px; }
.medal { display:inline-flex; align-items:center; justify-content:center; gap:3px; font-style:normal; min-width:22px; height:22px; padding:0 6px; border-radius:11px; font-size:11px; font-weight:750; }
.medal .icon { width:12px; height:12px; }
.medal.gold { background:#fbe7b5; color:#8a6417; }
.medal.silver { background:#e5e9ec; color:#56636c; }
.medal.bronze { background:#f2dcc8; color:#8b5631; }
.medal.prize { background:#dcebf6; color:#2e6c92; }
.career-list { display:grid; gap:10px; margin-bottom:28px; }
.career-card { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:16px; padding:16px 18px; background:var(--card); border:1px solid var(--line); border-radius:7px; }
.career-card.is-closed { opacity:.82; }
.career-mark { width:44px; height:44px; }
.career-main h3 { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 2px; font-size:16px; }
.career-code { font-family:"SF Mono",SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; font-weight:700; color:var(--accent); background:var(--sky-soft); padding:1px 6px; border-radius:3px; }
.career-where { margin:0 0 10px; font-size:12px; color:var(--muted); }
.career-figures { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:10px 18px; margin:0; }
.career-figures dt { font-size:10px; font-weight:650; text-transform:uppercase; letter-spacing:.6px; color:var(--muted); }
.career-figures dd { margin:2px 0 0; font-weight:700; font-size:15px; }
.career-figures small { display:block; font-weight:500; font-size:10px; color:var(--muted); }
.career-trophies { list-style:none; display:flex; flex-wrap:wrap; gap:6px 14px; margin:12px 0 0; padding:10px 0 0; border-top:1px dashed var(--line); font-size:12px; }
.career-trophies li { display:inline-flex; align-items:center; gap:6px; }
.career-trophies .medal { min-width:20px; height:20px; padding:0; }

/* Giving membership. */
.gift-card .button .icon,.gift-recipient button .icon { width:15px; height:15px; margin-right:4px; }
.gift-found { list-style:none; margin:0; padding:0; }
.gift-found li { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 20px; border-top:1px solid var(--line); }
.gift-recipient .member-cell { margin-bottom:10px; }
.gift-terms { border:0; margin:0; padding:0; display:grid; gap:8px; }
.gift-terms legend { font-weight:600; margin-bottom:6px; padding:0; }
.gift-terms .check-label { padding:10px 14px; border:1px solid var(--line); border-radius:6px; }
.gift-terms .check-label:has(input:checked) { border-color:var(--accent); background:var(--sky-soft); }
.gift-terms .check-label strong { margin-left:auto; }
.gift-note { margin:4px 0 0; font-style:italic; }

/* Private worlds. */
.private-upsell .card-body { display:flex; gap:18px; align-items:flex-start; }
.private-upsell .card-body>.icon { width:40px; height:40px; padding:9px; border-radius:8px; background:var(--navy); color:var(--amber); }
.private-upsell h2 { font-size:17px; margin-bottom:6px; }
.invite-card .card-body { display:grid; gap:12px; }
.invite-card p { margin:0; }
.invite-link { width:100%; font-family:"SF Mono",SFMono-Regular,Menlo,Consolas,monospace; font-size:12px; background:var(--sky-soft); }
.invite-card form { margin:0; }
.invite-copy { display:flex; gap:8px; align-items:center; }
.invite-copy .invite-link { flex:1; min-width:0; }
.invite-copy .button { flex:none; }
.invite-rules { margin:0 0 12px; padding-left:18px; font-size:12px; line-height:1.55; }
.invite-rules li + li { margin-top:6px; }
.guest-list { list-style:none; margin:0; padding:0; }
.guest-list li { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 20px; border-top:1px solid var(--line); }
.guest-list li:first-child { border-top:0; }
.guest-list form { margin:0 0 0 auto; }
.invitation { max-width:640px; margin:30px auto; text-align:center; border-top:3px solid var(--amber); }
.invitation .card-body { padding:36px 32px; }
.invitation .sign { display:inline-flex; width:54px; height:54px; align-items:center; justify-content:center; border-radius:50%; background:var(--navy); color:var(--amber); margin-bottom:14px; }
.invitation .sign .icon { width:26px; height:26px; }
.invitation h1 { margin-bottom:8px; }
.invitation form { margin:18px 0 10px; }

:where(:root[data-theme="dark"]) .member-title, :where(:root[data-theme="dark"]) .poll-tag, :where(:root[data-theme="dark"]) .member-extra { background:#403525; color:#e0bf84; }
:where(:root[data-theme="dark"]) .poll-head>.icon { background:#403525; }
:where(:root[data-theme="dark"]) .medal.gold { background:#4a3c1c; color:#f0cf7a; }
:where(:root[data-theme="dark"]) .medal.silver { background:#353d43; color:#c7d0d6; }
:where(:root[data-theme="dark"]) .medal.bronze { background:#46301f; color:#e0a777; }
:where(:root[data-theme="dark"]) .medal.prize { background:#203744; color:#8ebbd5; }

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme])) .member-title, :where(:root:not([data-theme])) .poll-tag, :where(:root:not([data-theme])) .member-extra { background:#403525; color:#e0bf84; }
:where(:root:not([data-theme])) .poll-head>.icon { background:#403525; }
:where(:root:not([data-theme])) .medal.gold { background:#4a3c1c; color:#f0cf7a; }
:where(:root:not([data-theme])) .medal.silver { background:#353d43; color:#c7d0d6; }
:where(:root:not([data-theme])) .medal.bronze { background:#46301f; color:#e0a777; }
:where(:root:not([data-theme])) .medal.prize { background:#203744; color:#8ebbd5; }

}
@media(max-width:700px) {
    .career-card { grid-template-columns:36px minmax(0,1fr); }
    .career-status { grid-column:2; }
    .career-mark { width:36px; height:36px; }
    .poll-options-input { grid-template-columns:minmax(0,1fr); }
    .profile-banner.has-image { min-height:180px; }
}
.mono { font-family:"SF Mono",SFMono-Regular,Menlo,Consolas,monospace; font-size:.95em; }
.unit { color:var(--muted); font-weight:500; font-size:10px; margin-left:4px; }
.wizard-steps { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:6px; list-style:none; margin:0 0 20px; padding:0; counter-reset:step; }
.wizard:not(.is-stepped) .wizard-steps,.wizard:not(.is-stepped) [data-step-go] { display:none; }
.wizard-step-link { width:100%; justify-content:flex-start; gap:10px; padding:9px 12px; background:var(--card); color:var(--muted); border:1px solid var(--line); border-radius:6px; font-weight:600; }
.wizard-step-link:hover { background:var(--sky-soft); color:var(--accent); }
.wizard-step-link .step-number,.wizard-step-head .step-number { display:inline-flex; align-items:center; justify-content:center; flex:none; width:22px; height:22px; border-radius:50%; background:var(--head); color:var(--muted); font-size:11px; font-weight:750; }
.wizard-step-link.done .step-number { background:var(--sky-soft); color:var(--accent); }
.wizard-step-link.active { background:var(--navy); border-color:var(--navy); color:#fff; }
.wizard-step-link.active .step-number { background:var(--amber); color:var(--navy); }
.wizard-step-link.has-error { border-color:var(--danger); }
.wizard-step-link.has-error .step-number { background:var(--danger); color:var(--on-color); }
.wizard-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:24px; align-items:start; }
.wizard-main { display:grid; gap:20px; min-width:0; }
.wizard-side { position:sticky; top:16px; }
.wizard-step { scroll-margin-top:16px; }
.wizard-step-head { display:flex; gap:14px; align-items:flex-start; padding:18px 20px 16px; border-bottom:1px solid var(--line); }
.wizard-step-head .step-number { width:28px; height:28px; font-size:13px; background:var(--amber); color:var(--navy); }
.wizard-step-head h2 { margin:2px 0 4px; font-size:17px; }
.wizard-step-head p { margin:0; color:var(--muted); font-size:12px; max-width:640px; }
.wizard-nav { display:flex; justify-content:space-between; gap:12px; padding:14px 20px; border-top:1px solid var(--line); background:var(--head); }
.wizard-nav>:only-child { margin-left:auto; }
.wizard-group { border:0; margin:0; padding:0; display:grid; gap:14px; min-width:0; }
.wizard-group+.wizard-group { border-top:1px solid var(--line); padding-top:18px; }
.wizard-group legend { padding:0; margin-bottom:12px; font-size:10px; font-weight:750; letter-spacing:1.4px; text-transform:uppercase; color:var(--accent); }
.choice-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.choice-row.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.choice-row.world-types { grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); }
.choice-row.world-types .choice input { flex-shrink:0; }
.choice:has(input:disabled) { opacity:.55; cursor:not-allowed; }
.prize-places { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:10px; }
.choice { display:flex; gap:10px; align-items:flex-start; padding:12px 14px; border:1px solid var(--line); border-radius:6px; font-weight:400; cursor:pointer; }
.choice:hover { border-color:var(--accent); }
.choice:has(input:checked) { border-color:var(--accent); background:var(--sky-soft); box-shadow:inset 3px 0 0 var(--accent); }
.choice input { margin-top:3px; accent-color:var(--accent); }
.choice strong,.wizard-check strong { display:block; font-size:12px; font-weight:650; }
.choice small,.wizard-check small { display:block; color:var(--muted); font-size:11px; line-height:1.5; }
.wizard-check { align-items:flex-start; }
.wizard-check input { margin-top:2px; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 18px; }
.form-grid .field-hint { margin:0; }
.form-grid>label { align-content:start; }
.wizard-flush { padding:0; }
.wizard-flush>.error { display:block; padding:14px 20px 0; }
.wizard-subhead { display:flex; align-items:center; gap:8px; margin:0; padding:12px 18px; background:var(--head); border-bottom:1px solid var(--line); font-size:11px; font-weight:750; letter-spacing:.8px; text-transform:uppercase; color:var(--muted); }
.wizard-subhead .link { margin-left:auto; text-transform:none; letter-spacing:0; font-size:11px; }
.wizard-subhead:not(:first-child) { border-top:1px solid var(--line); }
table.data-modules td { padding:11px 18px; vertical-align:top; }
table.data-modules td.data-check { width:40px; padding-right:0; }
table.data-modules strong+.tag { margin-left:6px; }
table.data-modules td.data-version { width:110px; text-align:right; }
table.data-modules p,table.data-modules .module-description { margin:3px 0 0; font-size:11px; }
table.data-modules tr.is-off strong,table.data-modules tr.is-off p,table.data-modules tr.is-off .module-description { opacity:.55; }
.module-areas { display:grid; }
.module-areas>.error { display:block; padding:14px 20px 0; }
.module-area { padding:14px 20px; border-bottom:1px solid var(--line); }
.module-area:last-child { border-bottom:0; }
.module-area-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,300px); align-items:center; gap:14px; }
.module-area-name { font-size:13px; font-weight:700; }
.module-area.is-off .module-area-name { color:var(--muted); font-weight:550; }
.module-option { margin-top:8px; }
.module-description { margin:4px 0 6px; color:var(--muted); font-size:12px; max-width:720px; }
details.module-description>summary { cursor:pointer; list-style:none; }
details.module-description>summary .more { color:var(--accent); font-size:11px; font-weight:600; margin-left:4px; }
details.module-description[open]>summary .more { display:none; }
details.module-description>p { margin:4px 0 0; }
.module-option>p.small { margin:0 0 6px; }
.module-links { display:flex; flex-wrap:wrap; gap:4px 14px; color:var(--muted); }
.module-settings { margin-top:8px; border:1px solid var(--line); border-radius:6px; background:var(--head); }
.module-settings>summary { display:flex; align-items:center; gap:8px; padding:9px 12px; cursor:pointer; font-size:12px; font-weight:650; color:var(--accent); list-style:none; }
.module-settings>summary::before { content:""; border:4px solid transparent; border-left:5px solid var(--muted); border-right:0; margin-right:2px; transition:transform .15s; }
.module-settings[open]>summary::before { transform:rotate(90deg); }
.module-settings[open]>summary { border-bottom:1px solid var(--line); }
.settings-tools { display:flex; flex-wrap:wrap; gap:10px; align-items:center; padding:10px 12px; }
.settings-tools input { flex:1 1 180px; padding:7px 10px; font-size:11px; }
.settings-fields { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr)); gap:0 20px; padding:0 12px 10px; }
.setting { display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:center; gap:2px 10px; min-height:36px; padding:3px 0 3px 8px; font-size:11px; font-weight:550; border-left:2px solid transparent; border-bottom:1px solid var(--line); }
.setting.is-changed { border-left-color:var(--amber); }
.setting.is-wide { grid-column:1/-1; grid-template-columns:minmax(0,1fr); padding-top:8px; padding-bottom:8px; }
.setting input,.setting textarea { padding:5px 8px; font-size:12px; font-weight:400; width:100%; }
.setting.is-wide textarea { min-height:90px; }
.setting>.error,.setting>.setting-default { grid-column:1/-1; text-align:right; }
.setting.is-wide>.error,.setting.is-wide>.setting-default { text-align:left; }
.setting.check-label { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.setting.check-label input { width:15px; margin-left:auto; order:2; }
.setting.check-label>span { order:1; }
.setting.check-label>.setting-default { order:3; width:100%; }
.setting-default { color:var(--muted); font-weight:400; font-size:10px; }
.setting-name { overflow-wrap:anywhere; }
.settings-group { padding:4px 0 6px; border-top:1px solid var(--line); }
.settings-group h4 { margin:8px 12px 8px; font-size:11px; font-weight:700; }
.settings-group .settings-fields { padding-top:0; }
table.settings-table { font-size:11px; background:var(--card); }
table.settings-table th,table.settings-table td { padding:5px 8px; }
table.settings-table input { width:100%; min-width:64px; padding:5px 7px; font-size:11px; }
table.settings-table td.is-changed input { border-color:var(--amber); }
.wizard [hidden] { display:none !important; }
.players-field { max-width:320px; }
.review-problems,.review-warnings { padding:12px 16px; border-radius:6px; border:1px solid #e9c3bf; background:#faeceb; color:#7d2d28; }
.review-warnings { border-color:#ecd3a8; background:#fff5e4; color:#7a5726; }
.review-problems+.review-warnings,.review-warnings+.review-list,.review-problems+.review-list { margin-top:12px; }
.review-problems h3,.review-warnings h3 { margin:0 0 6px; font-size:12px; color:inherit; }
.review-problems ul,.review-warnings ul { margin:0; padding-left:18px; font-size:12px; }
.review-problems li { margin:3px 0; }
.review-problems li .link { color:inherit; font-weight:700; text-decoration:underline; margin-right:4px; }
.review-problems p { margin:0 0 6px; font-size:12px; }
.review-list { margin:0; display:grid; }
.review-list>div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:14px; padding:9px 0; border-bottom:1px solid var(--line); font-size:12px; }
.review-list>div:last-child { border-bottom:0; }
.review-list dt { color:var(--muted); }
.review-list dd { margin:0; }
.review-list dd .tag { margin-left:6px; }
.review-modules { display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
.review-list .review-modules .tag { margin:0; }
.season-summary .stat-list { margin-bottom:0; }

.world-capacity { border-radius:7px; border-top:1px solid var(--line); margin-bottom:16px; flex-wrap:wrap; }
table.admin-worlds { min-width:760px; }
table.admin-worlds td { vertical-align:middle; }
table.admin-worlds td:first-child { min-width:180px; }
table.admin-worlds .mono,table.admin-worlds .tag { white-space:nowrap; }
table.admin-worlds td>.small { display:block; }
table.admin-worlds .tag { margin-left:4px; }
.season-status { display:flex; align-items:center; gap:10px; margin-bottom:12px; font-size:12px; }
.season-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.season-actions form { margin:0; }
.season-actions .inline-form input { min-width:220px; }
.schedule-next { justify-content:space-between; }
.schedule-next p { margin:0; font-size:12px; }
.fault-stack { max-height:320px; overflow:auto; font-size:11px; background:var(--head); padding:10px; border-radius:4px; color:var(--text); }

:where(:root[data-theme="dark"]) .review-problems, :where(:root[data-theme="dark"]) .estimate-status.bad { background:#402927; border-color:#5c3a36; color:#f0b8b0; }
:where(:root[data-theme="dark"]) .estimate-status.warn { background:#403525; color:#e0bf84; }
:where(:root[data-theme="dark"]) .review-warnings { background:#403525; border-color:#5a4a30; color:#e0bf84; }
:where(:root[data-theme="dark"]) .wizard-step-link.active { background:#2e6c92; border-color:#2e6c92; }
:where(:root[data-theme="dark"]) .meter-other { fill:#4f6574; }

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme])) .review-problems, :where(:root:not([data-theme])) .estimate-status.bad { background:#402927; border-color:#5c3a36; color:#f0b8b0; }
:where(:root:not([data-theme])) .estimate-status.warn { background:#403525; color:#e0bf84; }
:where(:root:not([data-theme])) .review-warnings { background:#403525; border-color:#5a4a30; color:#e0bf84; }
:where(:root:not([data-theme])) .wizard-step-link.active { background:#2e6c92; border-color:#2e6c92; }
:where(:root:not([data-theme])) .meter-other { fill:#4f6574; }

}
@media(max-width:1050px) {
    .wizard-layout { grid-template-columns:minmax(0,1fr) 260px; }
    .wizard-step-link { padding:8px; gap:6px; }.wizard-step-link .step-label { font-size:11px; }
}
@media(max-width:780px) {
    .wizard-layout { grid-template-columns:minmax(0,1fr); }
    .wizard-side { position:static; }
    .wizard-steps { grid-template-columns:repeat(6,auto); overflow-x:auto; scrollbar-width:none; }
    .wizard-step-link .step-label { display:none; }
    .wizard-step-link.active .step-label { display:inline; }
    .choice-row.three { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:560px) {
    .choice-row,.form-grid { grid-template-columns:minmax(0,1fr); }
    .module-area-head { grid-template-columns:minmax(0,1fr); gap:6px; }
    .review-list>div { grid-template-columns:minmax(0,1fr); gap:2px; }
    .wizard-step-head { padding:16px; }.module-area { padding:12px 16px; }
    table.data-modules td { padding:10px 12px; }
}
.worlds-table .world-description { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; max-width:340px; margin-top:2px; overflow:hidden; color:var(--muted); font-size:11px; line-height:1.4; }
.worlds-table .world-prizes { display:flex; align-items:flex-start; gap:5px; max-width:300px; margin-top:3px; color:var(--accent); font-size:11px; font-weight:600; }
table.worlds-table { table-layout:fixed; min-width:640px; }.worlds-table th:nth-child(2) { width:14%; }.worlds-table th:nth-child(3) { width:14%; }.worlds-table th:nth-child(4) { width:10%; }.worlds-table th:nth-child(5) { width:25%; }
.worlds-table .world-main { font-weight:600; font-variant-numeric:tabular-nums; }
.worlds-table .world-players-label { display:none; }
.worlds-table .world-progress-row { display:flex; align-items:center; gap:8px; margin-top:5px; }
.worlds-table .world-progress-row .small { font-size:11px; white-space:nowrap; }
.world-progress { appearance:none; flex:1; max-width:140px; height:5px; border:0; border-radius:3px; background:var(--line); overflow:hidden; }
.world-progress::-webkit-progress-bar { background:var(--line); border-radius:3px; }
.world-progress::-webkit-progress-value { background:var(--success); border-radius:3px; }
.world-progress::-moz-progress-bar { background:var(--success); border-radius:3px; }
.worlds-table .world-prizes .icon { flex-shrink:0; width:13px; height:13px; margin-top:2px; }
.worlds-table .world-next { display:block; margin-top:3px; line-height:1.35; }
.worlds-table td:nth-child(2) .world-next,.worlds-table td:nth-child(3) .world-next { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media(max-width:560px) {
    table.grid.worlds-table thead { display:none; }
    table.grid.worlds-table tr { display:grid; grid-template-columns:auto auto minmax(0,1fr); gap:2px 12px; padding:11px 14px; border-bottom:1px solid var(--line); }
    table.grid.worlds-table tr:last-child { border-bottom:0; }
    table.grid.worlds-table td { padding:0; border:0; white-space:normal; }
    table.grid.worlds-table td:first-child,table.grid.worlds-table td:last-child { grid-column:1/-1; }
    table.grid.worlds-table td:nth-child(2),table.grid.worlds-table td:nth-child(3),table.grid.worlds-table td:nth-child(4) { color:var(--muted); font-size:11px; }
    table.grid.worlds-table td:last-child { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:4px; }
    table.grid.worlds-table .world-next { margin:0; }
    table.grid.worlds-table .world-progress-row { flex-basis:100%; margin-top:2px; }
    table.grid.worlds-table td:nth-child(2),table.grid.worlds-table td:nth-child(3) { display:flex; gap:5px; }
    table.grid.worlds-table td.num { text-align:left; }
    table.grid.worlds-table td:nth-child(2) .world-next { display:none; }
    table.grid.worlds-table td:nth-child(4):has(.world-players-label) { display:block; }
    table.grid.worlds-table td:nth-child(4):not(:has(.world-players-label)) { display:none; }
    table.grid.worlds-table .world-main { font-weight:500; }
    table.grid.worlds-table .world-players-label { display:inline; margin-left:3px; }
    table.grid.worlds-table td.table-empty { padding:6px 0; text-align:left; }
}
.pace-form { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 12px 0; }
.pace-form .field-label { margin-right: 4px; font-weight: 600; }

/* Tournaments advertised across the site: a strip under the menu, and in full on the home and Worlds pages. */
.tournament-strip { background:#f6e2b4; color:var(--navy); border-bottom:1px solid #e6c98a; }
.tournament-strip-inner { display:flex; align-items:center; gap:14px; padding-top:9px; padding-bottom:9px; font-size:12px; }
.tournament-strip-badge { display:inline-flex; align-items:center; gap:5px; flex-shrink:0; font-size:10px; font-weight:750; letter-spacing:1.2px; text-transform:uppercase; color:#7a5608; }
.tournament-strip-badge .icon { width:14px; height:14px; }
.tournament-strip-text { flex:1; min-width:0; line-height:1.5; }
.tournament-strip-text a { color:var(--navy); }
.tournament-strip-prize { color:#6b5320; }
.tournament-strip-more { margin-left:6px; font-size:11px; }
.tournament-strip .button { flex-shrink:0; background:var(--navy); color:#fff; }
.tournament-strip .button:hover { background:var(--navy-2); }
.tournament-features { display:grid; gap:16px; margin-bottom:22px; }
.tournament-feature { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:24px 32px; background:var(--navy); color:#c4d3dd; border-radius:8px; padding:26px 30px 30px; position:relative; overflow:hidden; }
.tournament-feature::after { content:""; position:absolute; left:0; right:0; bottom:0; height:8px; background:linear-gradient(to bottom,var(--amber) 0 4px,transparent 4px 5px,#4f9cc7 5px 8px); }
.tournament-eyebrow { display:flex; align-items:center; gap:6px; margin-bottom:8px; color:var(--amber); font-size:10px; font-weight:750; letter-spacing:1.4px; }
.tournament-eyebrow .icon { width:15px; height:15px; }
.tournament-feature h2 { color:#fff; font-size:26px; letter-spacing:-.4px; line-height:1.2; margin-bottom:8px; }
.tournament-description { font-size:13px; line-height:1.7; max-width:560px; margin-bottom:12px; }
.tournament-when { display:inline-block; margin-bottom:18px; padding:5px 10px; border-radius:4px; background:#0b2236; color:#ffd299; font-size:12px; font-weight:600; }
.tournament-prizes { list-style:none; margin:0 0 14px; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(88px,1fr)); gap:8px; }
.tournament-prizes li { display:grid; gap:1px; padding:10px 12px; border-radius:6px; background:#0b2236; border-top:3px solid #4f6e84; }
.tournament-prizes li.place-1 { border-top-color:#f0cf7a; }
.tournament-prizes li.place-2 { border-top-color:#c7d0d6; }
.tournament-prizes li.place-3 { border-top-color:#e0a777; }
.tournament-place { color:var(--amber); font-size:10px; font-weight:750; letter-spacing:1.2px; text-transform:uppercase; }
.tournament-prizes strong { color:#fff; font-size:15px; }
.tournament-prizes small { color:#8da2ae; font-size:10px; }
.tournament-facts { margin:0; padding:2px 16px; background:#0b2236; border-radius:6px; }
.tournament-facts>div { display:grid; grid-template-columns:90px minmax(0,1fr); gap:12px; padding:8px 0; border-bottom:1px solid #1d3b52; }
.tournament-facts>div:last-child { border-bottom:0; }
.tournament-facts dt { color:var(--amber); font-size:10px; font-weight:750; letter-spacing:1.2px; text-transform:uppercase; padding-top:2px; }
.tournament-facts dd { margin:0; font-size:12px; line-height:1.5; color:#e6eef3; }

:where(:root[data-theme="dark"]) .tournament-strip { background:#3d3520; color:#f0dca4; border-bottom-color:#5a4c28; }
:where(:root[data-theme="dark"]) .tournament-strip-text a { color:#ffe6a8; }
:where(:root[data-theme="dark"]) .tournament-strip-badge { color:#e3c66f; }
:where(:root[data-theme="dark"]) .tournament-strip-prize { color:#d8c590; }
:where(:root[data-theme="dark"]) .tournament-strip .button { background:var(--amber); color:#142f44; }
:where(:root[data-theme="dark"]) .tournament-feature { background:#0d2231; }

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme])) .tournament-strip { background:#3d3520; color:#f0dca4; border-bottom-color:#5a4c28; }
:where(:root:not([data-theme])) .tournament-strip-text a { color:#ffe6a8; }
:where(:root:not([data-theme])) .tournament-strip-badge { color:#e3c66f; }
:where(:root:not([data-theme])) .tournament-strip-prize { color:#d8c590; }
:where(:root:not([data-theme])) .tournament-strip .button { background:var(--amber); color:#142f44; }
:where(:root:not([data-theme])) .tournament-feature { background:#0d2231; }

}
@media(max-width:780px) {
    .tournament-feature { grid-template-columns:minmax(0,1fr); padding:22px 20px 26px; }
    .tournament-strip-inner { flex-wrap:wrap; gap:6px 10px; }
    .tournament-strip-prize { display:none; }
}

/* Chat: the chat page and the home page's panel show the game's chat, whose styles come with it
   from the game app's build (client/src/styles/chat.css). Here the site's colours are named as
   the game names them, and the places hold their size while chat loads. */
.menu a .nav-online { display:inline-flex; align-items:center; justify-content:center; min-width:16px; height:16px; margin-left:6px; padding:0 5px; border-radius:8px; background:#3fae6a; color:#fff; font-size:9px; font-weight:750; vertical-align:1px; }
.gg-chat { --panel:var(--card); --hover:var(--sky-soft); --sel:var(--sky-soft); --accent-soft:var(--sky-soft); --faint:var(--muted); --bad:var(--danger); --bad-soft:#f9e9e7; --good:var(--success); --warn-soft:#fff6e2; }
.chat-loading { margin:0; padding:18px; color:var(--muted); }
.chat-host-page .chat-loading { height:min(760px,calc(100vh - 250px)); min-height:460px; background:var(--card); border:1px solid var(--line); border-top:3px solid var(--navy); border-radius:6px; }
.chat-host-panel .chat-loading { height:350px; }
.chat-panel { margin-bottom:20px; }
.chat-rules { margin:10px 0 0; }
/* A reported chat message, for the team. */
.chat-quote { margin:10px 0; padding:8px 12px; border-left:3px solid var(--line); background:var(--head); white-space:pre-wrap; overflow-wrap:anywhere; }
.chat-gif { display:block; margin:4px 0 2px; }
.chat-gif img { display:block; width:auto; max-width:min(260px,100%); height:auto; max-height:260px; border-radius:6px; background:var(--head); }

:where(:root[data-theme="dark"]) .gg-chat { --bad-soft:#3a2220; --warn-soft:#3a321f; }
:where(:root[data-theme="dark"]) .gg-chat.cs-page, :where(:root[data-theme="dark"]) .chat-host-page .chat-loading { border-top-color:#3b7092; }

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme])) .gg-chat { --bad-soft:#3a2220; --warn-soft:#3a321f; }
:where(:root:not([data-theme])) .gg-chat.cs-page, :where(:root:not([data-theme])) .chat-host-page .chat-loading { border-top-color:#3b7092; }

}
@media(max-width:780px) {
    .chat-host-page .chat-loading { height:calc(100vh - 210px); }
}
/* Activity (operators) */
.activity { display:grid; gap:18px; }
.activity-figures { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin:0; }
.activity-figures>div { background:var(--card); border:1px solid var(--line); border-radius:7px; padding:14px 16px; }
.activity-figures dt { color:var(--muted); font-size:11px; font-weight:650; }
.activity-figures dd { margin:4px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }
.activity-figures strong { display:block; color:var(--text); font-size:24px; font-weight:650; line-height:1.3; }
.activity-charts { display:grid; gap:18px; }
.activity-chart { display:block; width:100%; height:auto; overflow:visible; }
.activity-chart .chart-grid { stroke:var(--line); stroke-width:1; }
.activity-chart .chart-axis { fill:var(--muted); font-size:10px; }
.activity-chart .chart-bar { fill:var(--accent); }
.activity-chart .chart-projected { fill-opacity:.3; }
.activity-chart .chart-hit { fill:transparent; }
.activity-chart .chart-slot:hover .chart-bar { fill:var(--text); }
.activity-chart .chart-slot:hover .chart-hit { fill:var(--head); fill-opacity:.5; }
.globe-paper { --paper:#f7f3e8; --ink:#1e1c18; --rule:#2a2722; --faint:#d6cfbd; --grey:#6b665b;
    background:var(--paper); color:var(--ink); border:1px solid var(--faint); box-shadow:0 1px 3px #0001; padding:28px 40px 36px; margin:0 0 30px;
    font-family:"Iowan Old Style","Charter","Georgia","Times New Roman",serif; }
.globe-paper .rich-text { font-size:15px; line-height:1.55; overflow-wrap:break-word; hyphens:auto; }
.globe-paper .rich-text p { margin:0 0 10px; text-align:justify; }
.globe-paper a { color:inherit; }
.globe-masthead { text-align:center; border-bottom:3px double var(--rule); padding-bottom:8px; margin-bottom:18px; }
.globe-ears,.globe-folio { display:flex; justify-content:space-between; gap:12px; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--grey); }
.globe-ears { border-bottom:1px solid var(--rule); padding-bottom:6px; }
.globe-name { font-family:"Old English Text MT","UnifrakturMaguntia","Iowan Old Style","Georgia",serif; font-size:clamp(44px,7vw,84px); font-weight:700; letter-spacing:0; line-height:1; margin:14px 0 12px; color:var(--ink); }
.globe-folio { border-top:1px solid var(--rule); padding-top:6px; }
.globe-lead .rich-text { font-size:clamp(17px,1.6vw,20px); line-height:1.5; font-style:italic; max-width:820px; margin:0 auto; }
.globe-lead .rich-text p { text-align:left; }
.globe-lead .rich-text>p:first-child::first-letter { float:left; font-size:3.4em; line-height:.85; font-style:normal; font-weight:700; padding:4px 8px 0 0; }
.globe-index { display:flex; flex-wrap:wrap; gap:4px 14px; justify-content:center; font-size:12px; letter-spacing:.06em; text-transform:uppercase; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:7px 0; margin:18px 0 6px; }
.globe-index a { color:var(--grey); }
.globe-index a:hover { color:var(--ink); }
.globe-pages { columns:3 18em; column-gap:30px; column-rule:1px solid var(--faint); margin-top:18px; }
.globe-page { break-inside:avoid; padding-bottom:18px; margin-bottom:16px; border-bottom:1px solid var(--faint); scroll-margin-top:20px; }
.globe-dateline { margin:0 0 8px; padding:4px 0 3px; border-top:2px solid var(--rule); border-bottom:1px solid var(--rule); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; text-align:center; color:var(--ink); }
.globe-stories .rich-text { font-size:14.5px; }
.globe-stories .rich-text h3 { font-size:19px; line-height:1.15; font-weight:700; margin:6px 0 6px; color:var(--ink); }
.globe-stories .rich-text h3:first-child { font-size:23px; line-height:1.1; }
.globe-stories .rich-text h3:not(:first-child) { border-top:1px solid var(--faint); padding-top:10px; margin-top:10px; }
.globe-stories .rich-text p strong { letter-spacing:.04em; }
.globe-figures { border-top:3px solid var(--rule); margin-top:28px; padding-top:10px; scroll-margin-top:20px; }
.globe-figures h2 { font-size:22px; margin:0 0 6px; color:var(--ink); }
.globe-figures .rich-text table { display:table; width:100%; border-collapse:collapse; border:0; font-variant-numeric:tabular-nums; font-size:14px; margin:6px 0 4px; }
.globe-figures .rich-text th,.globe-figures .rich-text td { background:transparent; border:0; border-bottom:1px solid var(--faint); padding:6px 10px; color:var(--ink); }
.globe-figures .rich-text th { border-bottom:2px solid var(--rule); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--grey); }
.globe-figures .rich-text th:nth-child(n+3),.globe-figures .rich-text td:nth-child(n+3) { text-align:right; }
.globe-figures .rich-text { overflow-x:auto; }
.globe-tools { display:flex; gap:16px; justify-content:flex-end; margin-top:18px; font-size:12px; font-family:Inter,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; }
.globe-tools a { color:var(--grey); }

:where(:root[data-theme="dark"]) .globe-paper { --paper:#1d1b17; --ink:#ece5d3; --rule:#b9b09b; --faint:#3c3830; --grey:#a39b88; border-color:#3c3830; }

@media (prefers-color-scheme: dark) {
:where(:root:not([data-theme])) .globe-paper { --paper:#1d1b17; --ink:#ece5d3; --rule:#b9b09b; --faint:#3c3830; --grey:#a39b88; border-color:#3c3830; }

}
@media(max-width:700px) {
    .globe-paper { padding:18px 16px 24px; }
    .globe-ears>span:nth-child(2) { display:none; }
    .globe-folio { flex-direction:column; gap:2px; align-items:center; }
    .globe-paper .rich-text p { text-align:left; }
}

.chat-upload { display:block; margin:8px 0; }
.chat-upload img { display:block; width:auto; height:auto; max-width:min(300px,100%); max-height:300px; object-fit:contain; border-radius:6px; }
.notification-row p>.notification-place { display:block; font-size:11px; color:var(--muted); margin-bottom:2px; }
.notification-row p>.notification-body { display:block; font-size:12px; color:var(--muted); margin-top:3px; white-space:pre-wrap; }
.notification-urgent { display:inline-block; margin-left:6px; padding:0 6px; border-radius:8px; background:var(--danger); color:var(--on-color); font-size:10px; font-weight:650; }
.notification-row.is-urgent>.avatar { color:var(--danger); }
.notify-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:28px; align-items:start; }
.notify-layout>.card,.notify-layout>.col-main>.card { margin:0; }.notify-layout>.col-main { display:grid; gap:24px; }
table.notify-grid td,table.notify-grid th { padding:11px 16px; vertical-align:middle; }
table.notify-grid .notify-cell { text-align:center; width:96px; }
table.notify-grid .notify-hint { display:block; font-size:11px; color:var(--muted); margin-top:2px; }
table.notify-grid tr.notify-group th { background:var(--head); color:var(--text); font-size:11px; }
table.notify-grid input[type=checkbox] { width:16px; height:16px; }
.notify-switch { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:13px; }
@media(max-width:900px) { .notify-layout { grid-template-columns:minmax(0,1fr); } table.notify-grid .notify-cell { width:64px; padding:10px 6px; } }
.notify-browser { gap:8px; }.notify-browser p { margin:0; }.notify-browser .check-label { font-weight:600; }

.account-dropdown { max-width: calc(100vw - 32px); max-height: calc(100dvh - 100px); overflow-y: auto; }
@media (max-width: 380px) { .masthead { flex-wrap: wrap; padding-top: 12px; padding-bottom: 12px; } .account { margin-left: auto; } }

/* Operations: keep current season health readable before opening diagnostics. */
.monitor-page { --monitor-good:var(--success); --monitor-other:#ba741e; }
.monitor-page .page-heading { margin:0 0 18px; }
.monitor-page .page-heading h1 { font-size:30px; margin-bottom:6px; }
.monitor-page .page-heading .eyebrow { margin-bottom:6px; }
.monitor-page .page-description { font-size:12px; }
.monitor-toolbar { position:sticky; top:0; z-index:10; background:var(--bg); padding:8px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; }
.monitor-toolbar p { margin:0; font-size:12px; color:var(--muted); }
.monitor-toolbar p::before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--success); margin-right:8px; }
.monitor-toolbar p[data-state="paused"]::before { background:var(--monitor-other); }
.monitor-toolbar p[data-state="error"]::before { background:var(--danger); }
.monitor-actions { display:flex; gap:8px; flex-shrink:0; }
.monitor-actions button { padding:7px 12px; min-height:36px; }
.monitor-live { display:grid; gap:18px; }
.monitor-summary { padding:16px 20px; background:var(--success-bg); border:1px solid var(--line); border-left:4px solid var(--success); border-radius:6px; display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.monitor-summary .eyebrow { margin-bottom:5px; color:var(--success); letter-spacing:1.3px; }
.monitor-summary h2 { font-size:24px; margin:0 0 4px; }
.monitor-summary p { margin:0; font-size:13px; }
.monitor-summary .monitor-sampled { font-size:11px; color:var(--muted); text-align:right; align-self:center; }
.monitor-sampled span { display:block; }
.monitor-summary.attention,.monitor-stale .monitor-summary { background:var(--card); border-left-color:var(--danger); }
.monitor-summary.attention .eyebrow,.monitor-stale .monitor-summary .eyebrow { color:var(--danger); }
.monitor-stale .monitor-resources,.monitor-stale .monitor-metric { opacity:.6; }
.monitor-alerts { flex-basis:100%; padding-left:18px; margin:0; font-size:13px; color:var(--danger); }
.monitor-resources { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.monitor-resource { padding:14px 18px; }
.monitor-resource h2 { font-size:12px; font-weight:600; color:var(--muted); margin:0 0 5px; }
.monitor-resource strong { display:block; font-size:25px; letter-spacing:-.6px; font-variant-numeric:tabular-nums; line-height:1.3; }
.monitor-resource p { margin:6px 0 0; color:var(--muted); font-size:12px; }
.monitor-resource meter { display:block; width:100%; height:6px; margin:12px 0 8px; border:0; background:var(--line); border-radius:3px; }
.monitor-resource meter::-webkit-meter-bar { background:var(--line); border:0; border-radius:3px; }
.monitor-resource meter::-webkit-meter-optimum-value { background:var(--accent); border-radius:3px; }
.monitor-resource meter::-webkit-meter-suboptimum-value { background:var(--monitor-other); }
.monitor-resource meter::-webkit-meter-even-less-good-value { background:var(--danger); }
.monitor-resource meter::-moz-meter-bar { background:var(--accent); }
.monitor-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.monitor-section-heading h2 { font-size:18px; margin:0 0 2px; }
.monitor-section-heading p { font-size:12px; color:var(--muted); margin:0; }
.monitor-season { margin-bottom:10px; }
.monitor-season:last-child { margin-bottom:0; }
.monitor-season summary { list-style:none; display:grid; grid-template-columns:minmax(180px,1.6fr) repeat(3,minmax(100px,1fr)) 16px; align-items:center; gap:18px; padding:18px 20px; cursor:pointer; }
.monitor-season summary:hover,.monitor-services summary:hover { background:var(--head); }
.monitor-season-name { display:flex; gap:5px 8px; align-items:center; flex-wrap:wrap; }
.monitor-season-name h3 { width:100%; margin:0; font-size:15px; overflow-wrap:anywhere; }
.monitor-season-name>span:not(.monitor-badge) { font-size:11px; color:var(--muted); }
.monitor-badge { font-size:10px; font-weight:650; display:inline-flex; border-radius:4px; padding:2px 7px; background:var(--head); color:var(--muted); }
.monitor-badge.good { background:var(--success-bg); color:var(--success); }
.monitor-badge.warn { color:var(--danger); background:var(--bg); }
.monitor-metric span,.monitor-metric small { display:block; font-size:11px; color:var(--muted); }
.monitor-metric strong { font-size:19px; font-variant-numeric:tabular-nums; font-weight:650; }
.monitor-season-explanation { grid-column:2/5; font-size:12px; color:var(--muted); margin:0; }
.monitor-expand { font-size:20px; color:var(--muted); justify-self:end; transition:transform .15s; }
[open]>summary>.monitor-expand { transform:rotate(180deg); }
.monitor-season-detail { border-top:1px solid var(--line); padding:18px 20px; }
.monitor-detail-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin:0 0 18px; }
.monitor-detail-grid dt { font-size:11px; color:var(--muted); }
.monitor-detail-grid dd { margin:2px 0 0; font-size:14px; font-weight:600; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.monitor-note { margin:0; font-size:11px; color:var(--muted); }
.monitor-detail-actions { display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:16px; font-size:12px; }
.monitor-empty { padding:24px; }
.monitor-empty p { margin:0; color:var(--muted); }
#monitor-history { scroll-margin-top:80px; }
.monitor-history-panel { overflow:hidden; }
.monitor-history-controls { display:flex; gap:16px; flex-wrap:wrap; align-items:end; padding:18px 20px; border-bottom:1px solid var(--line); background:var(--head); }
.monitor-history-controls label { display:grid; gap:4px; font-size:11px; color:var(--muted); font-weight:500; margin:0; }
.monitor-history-controls select { max-width:100%; width:185px; margin:0; font-size:12px; height:36px; padding:6px 30px 6px 10px; background-color:var(--card); color:var(--text); border:1px solid var(--line); border-radius:5px; }
.monitor-history-controls label:last-of-type { flex:1; min-width:180px; }
.monitor-history-controls label:last-of-type select { width:100%; }
.monitor-tabs { display:flex; gap:3px; padding:3px; border:1px solid var(--line); border-radius:6px; background:var(--card); margin-right:auto; }
.monitor-tabs button { min-height:30px; padding:5px 14px; background:transparent; color:var(--muted); border:0; }
.monitor-tabs button[aria-pressed="true"] { background:var(--accent); color:var(--on-color); }
.monitor-history-caption { padding:14px 20px 4px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 14px; font-size:11px; color:var(--muted); }
.monitor-history-caption strong { color:var(--text); font-size:12px; }
.monitor-charts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.monitor-chart { padding:20px; min-width:0; }
.monitor-chart-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.monitor-chart h3 { font-size:14px; margin:0; }
.monitor-chart-heading>span { color:var(--muted); font-size:11px; }
.monitor-chart p { color:var(--muted); font-size:11px; margin:4px 0 12px; min-height:18px; }
.monitor-plot { position:relative; }
.monitor-axis-labels { position:absolute; top:3px; bottom:19px; left:0; width:32px; display:flex; flex-direction:column; justify-content:space-between; align-items:end; color:var(--muted); font-size:10px; }
.monitor-chart svg { display:block; width:calc(100% - 42px); margin-left:42px; height:165px; overflow:visible; cursor:crosshair; touch-action:pan-y; }
.monitor-chart svg:focus-visible { outline-offset:3px; }
.monitor-grid { stroke:var(--line); fill:none; stroke-width:1; vector-effect:non-scaling-stroke; }
.monitor-line { stroke:var(--accent); fill:none; stroke-width:2; vector-effect:non-scaling-stroke; stroke-linecap:round; stroke-linejoin:round; }
.monitor-line.two { stroke:var(--monitor-other); stroke-dasharray:5 3; }
.monitor-dot { fill:var(--accent); }
.monitor-dot.two { fill:var(--monitor-other); }
.monitor-cursor { stroke:var(--muted); stroke-width:1; stroke-dasharray:3 3; vector-effect:non-scaling-stroke; }
.monitor-chart-time { display:flex; justify-content:space-between; padding-left:42px; font-size:10px; color:var(--muted); margin-top:-12px; }
.monitor-chart-readout { min-height:38px; margin-top:10px; font-size:11px; display:flex; align-content:start; flex-wrap:wrap; gap:3px 14px; color:var(--muted); }
.monitor-chart-readout strong { color:var(--text); font-weight:600; }
.monitor-key::before { content:""; display:inline-block; width:12px; height:3px; margin-right:5px; background:var(--accent); vertical-align:middle; }
.monitor-key.two::before { background:var(--monitor-other); }
.monitor-chart-readout time { flex-basis:100%; font-size:10px; }
.monitor-chart-empty { display:grid; place-items:center; min-height:210px; color:var(--muted); font-size:12px; }
.monitor-history-panel>.monitor-note { padding:12px 20px; border-top:1px solid var(--line); background:var(--head); }
.monitor-services summary { padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; list-style:none; }
.monitor-services h2 { font-size:15px; margin:0 0 2px; }
.monitor-services summary p { margin:0; font-size:12px; color:var(--muted); }
.monitor-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.monitor-service-grid section { padding:20px; min-width:0; }
.monitor-service-grid section+section { border-left:1px solid var(--line); }
.monitor-service-grid .monitor-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; }
.monitor-services>.monitor-note { padding:12px 20px; border-top:1px solid var(--line); }
[data-monitoring] [hidden] { display:none !important; }
@media (max-width:760px) {
 .monitor-summary { padding:16px; }
 .monitor-summary h2 { font-size:21px; }
 .monitor-resources { gap:8px; }
 .monitor-resource { padding:12px; }
 .monitor-resource strong { font-size:22px; }
 .monitor-resource p { font-size:10px; }
 .monitor-resource h2 { font-size:11px; }
 .monitor-season summary { grid-template-columns:repeat(3,minmax(0,1fr)) 16px; gap:12px 8px; padding:16px; }
 .monitor-season-name { grid-column:1/4; }
 .monitor-expand { grid-column:4; grid-row:1; }
 .monitor-season-explanation { grid-column:1/4; }
 .monitor-season-detail { padding:16px; }
 .monitor-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .monitor-history-controls { padding:14px; gap:12px; }
 .monitor-charts { grid-template-columns:1fr; }
 .monitor-chart { padding:18px 14px; }
 .monitor-chart+.monitor-chart { border-top:1px solid var(--line); }
 .monitor-history-caption { padding:14px 14px 0; }
 .monitor-service-grid { grid-template-columns:1fr; }
 .monitor-service-grid section+section { border-left:0; border-top:1px solid var(--line); }
}
@media (max-width:480px) {
 .monitor-toolbar { flex-wrap:wrap; }
 .monitor-toolbar>p { flex-basis:100%; }
 .monitor-summary .monitor-sampled { text-align:left; }
 .monitor-summary .monitor-sampled span { display:inline; margin-right:8px; }
 .monitor-summary .monitor-sampled { font-size:10px; }
 .monitor-summary .monitor-sampled::first-line { line-height:2; }
 .monitor-resource strong { font-size:20px; }
 .monitor-resource meter { margin-top:9px; }
 .monitor-history-controls .monitor-tabs { flex-basis:100%; }
 .monitor-tabs button { flex:1; }
 .monitor-history-controls label { width:100%; }
 .monitor-history-controls select { width:100%; }
}

.avatar > .member-picture { display:block; width:100%; height:100%; object-fit:cover; border-radius:inherit; }
.picture-preview { display:block; width:96px; height:96px; border-radius:50%; object-fit:cover; margin-bottom:16px; background:var(--avatar-blue-bg); }
