/* Community uses the same Vault design tokens as the library and player. */
#appNav { grid-template-columns:repeat(4,max-content); }
body[data-view="community"] #vaultLibraryContent { display:none; }
body[data-view="community"] :is(#librarySidebar,#libraryMobileNav,#libraryMobileSearch,#libraryAlbumContext,#libraryAlbumView,#localMusicView) { display:none !important; }
body[data-view="community"] #app { min-height:100dvh; }
body[data-view="community"] #playerBar { left:32px; right:32px; }
#communityView { max-width:1800px; margin:0 auto; padding:28px 32px calc(36px + var(--player-dock-reserve,0px)); color:var(--vault-text); }
#communityView [hidden] { display:none !important; }
.community-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:28px; }
.community-eyebrow { color:var(--vault-gold); font-size:11px; font-weight:600; letter-spacing:.12em; }
.community-heading h1 { margin:7px 0 8px; font-size:34px; line-height:1.2; letter-spacing:-.03em; }
.community-heading p { max-width:620px; color:var(--vault-muted); font-size:14px; }
.community-local-label { display:inline-flex; align-items:center; gap:7px; color:var(--vault-muted); font-size:12px; white-space:nowrap; }
.community-local-label::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--vault-gold); }
.community-sections { display:flex; align-items:stretch; gap:28px; margin:0 0 22px; border-bottom:1px solid var(--vault-line); }
.community-section-tab { position:relative; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; margin:0 0 -1px; padding:8px 3px 14px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; color:var(--vault-muted); font:inherit; font-size:14px; font-weight:500; white-space:nowrap; cursor:pointer; }
.community-section-tab[aria-selected="true"] { border-bottom-color:var(--vault-gold); color:var(--vault-gold); }
.community-section-tab > svg { flex:none; width:18px; height:18px; }
.community-section-tab:disabled { color:var(--vault-muted); opacity:.7; cursor:default; }
.community-section-tab:focus-visible { outline:2px solid var(--vault-gold); outline-offset:3px; border-radius:4px; }
.community-section-soon { display:inline-flex; align-items:center; min-height:18px; padding:2px 5px; border:1px solid var(--vault-line-strong); border-radius:4px; background:var(--vault-panel); color:var(--vault-muted); font-size:9px; font-weight:600; line-height:1; letter-spacing:.07em; }
@media(max-width:600px) {
  .community-sections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:18px; }
  .community-section-tab { display:grid; grid-template-rows:18px 15px; align-content:center; justify-items:center; gap:4px; min-width:0; min-height:57px; padding:6px 0 10px; font-size:12px; }
  .community-section-tab > svg { display:none; }
  .community-section-label { grid-row:1; }
  .community-section-soon { grid-row:2; min-height:15px; padding:2px 4px; font-size:8px; }
}
.community-section-label--short{display:none}
@media(max-width:600px){
  .community-sections{grid-template-columns:repeat(4,minmax(0,1fr))}
  .community-section-tab{font-size:11px}
  .community-sections .community-section-label--long{display:none}
  .community-sections .community-section-label--short{display:block}
}
.community-grails-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.community-grails-toolbar h2{margin:0 0 5px;font-size:24px;font-weight:600;letter-spacing:-.02em}
.community-grails-tools{display:flex;align-items:center;gap:8px;min-width:0}
.community-grails-tools input{width:240px;min-width:0}
.community-grail-list{display:flex;flex-direction:column;gap:8px;min-width:0}
.community-grail-list .grail-card{grid-template-columns:44px 64px minmax(0,1fr) 82px}
.community-grail-list .grail-rank{display:block;grid-column:1;font-size:23px;font-weight:750;color:var(--vault-muted)}
.community-grail-list .grail-rank.top-chart-leader{color:var(--vault-gold)}
.community-grails>.grail-muted:empty{display:none}
.community-grails>.grail-button{margin-top:16px}
@media(max-width:600px){
  .community-grails-toolbar{align-items:stretch;flex-direction:column;gap:14px}
  .community-grails-toolbar h2{font-size:22px}
  .community-grails-tools input{flex:1;width:auto}
  .community-grail-list .grail-card{grid-template-columns:28px 52px minmax(0,1fr) 62px}
  .community-grail-list .grail-rank{font-size:19px}
}
@media(max-width:350px){.community-grail-list .grail-card{grid-template-columns:28px 44px minmax(0,1fr) 52px}}
.community-tabs { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px; }
.community-button, .community-tab { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:40px; padding:9px 13px; border:1px solid var(--vault-line); border-radius:var(--control-radius); background:var(--vault-panel); color:var(--vault-text); font:inherit; font-size:13px; cursor:pointer; text-decoration:none; }
.community-button:hover, .community-tab:hover { background:var(--vault-panel-raised); border-color:var(--vault-line-strong); }
.community-tab[aria-selected="true"], .community-button[aria-pressed="true"] { color:var(--vault-gold); border-color:rgba(var(--vault-gold-rgb),.4); background:rgba(var(--vault-gold-rgb),.08); }
.community-button:focus-visible, .community-tab:focus-visible, .community-match:focus-visible, .community-input:focus-visible, .community-mini:focus-visible { outline:2px solid var(--vault-gold); outline-offset:3px; }
.community-button:disabled { opacity:.5; cursor:default; }
.community-button-primary { background:var(--vault-gold); border-color:var(--vault-gold); color:var(--vault-bg-deep); font-weight:600; }
.community-button-primary:hover { background:var(--vault-gold-light); color:var(--vault-bg-deep); border-color:var(--vault-gold-light); }
.community-button svg { width:17px; height:17px; }
.community-featured { position:relative; display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:36px; overflow:hidden; background:var(--vault-panel); border:1px solid var(--vault-line); border-radius:18px; padding:36px; margin-bottom:22px; }
.community-featured h2 { font-size:32px; font-weight:600; line-height:1.2; letter-spacing:-.025em; margin:12px 0; max-width:520px; }
.community-featured p { max-width:540px; font-size:14px; line-height:1.7; color:var(--vault-muted); }
.community-featured .community-button { margin-top:22px; }
.community-featured-art { position:relative; display:grid; place-items:center; align-self:stretch; min-height:200px; }
.community-featured-art img { width:172px; height:172px; object-fit:cover; border-radius:18px; position:relative; z-index:1; box-shadow:var(--vault-shadow); transform:rotate(-5deg); }
.community-featured-art::before, .community-featured-art::after { content:""; position:absolute; width:150px; height:150px; border:1px solid var(--vault-line-strong); border-radius:18px; transform:rotate(12deg) translateX(30px); background:var(--vault-panel-raised); }
.community-featured-art::after { transform:rotate(-17deg) translateX(-32px); }
.community-featured-art--albums { min-height:240px; }
.community-featured-art--albums::before,.community-featured-art--albums::after { display:none; }
.community-album-stack { position:relative; width:100%; height:240px; isolation:isolate; }
.community-featured-art--albums .community-album-cover { --album-x:0px; --album-y:0px; --album-angle:-3deg; --album-lift:0px; position:absolute; left:50%; top:50%; width:172px; height:172px; border-radius:14px; border:1px solid rgba(255,255,255,.12); box-shadow:0 18px 34px rgba(0,0,0,.42); transform:translate(calc(-50% + var(--album-x)),calc(-50% + var(--album-y) + var(--album-lift))) rotate(var(--album-angle)); transition:transform .42s cubic-bezier(.2,.75,.25,1),box-shadow .3s ease; user-select:none; -webkit-user-drag:none; }
.community-album-stack .community-album-cover--back-left { --album-x:-52px; --album-y:9px; --album-angle:-17deg; z-index:1; }
.community-album-stack .community-album-cover--back-right { --album-x:52px; --album-y:12px; --album-angle:14deg; z-index:2; }
.community-album-stack .community-album-cover--front { z-index:3; }
@media(hover:hover) and (pointer:fine) {
  .community-album-stack:hover .community-album-cover--back-left { --album-x:-64px; --album-y:0px; --album-angle:-20deg; }
  .community-album-stack:hover .community-album-cover--back-right { --album-x:64px; --album-y:2px; --album-angle:17deg; }
  .community-album-stack:hover .community-album-cover--front { --album-lift:-10px; }
  .community-featured-art--albums .community-album-cover:hover { --album-lift:-24px; box-shadow:0 24px 42px rgba(0,0,0,.52); }
}
@media(max-width:1000px) and (min-width:601px) {
  .community-featured-art--albums .community-album-cover { width:132px; height:132px; }
  .community-album-stack .community-album-cover--back-left { --album-x:-38px; }
  .community-album-stack .community-album-cover--back-right { --album-x:38px; }
  .community-album-stack:hover .community-album-cover--back-left { --album-x:-44px; }
  .community-album-stack:hover .community-album-cover--back-right { --album-x:44px; }
}
@media(max-width:600px) {
  .community-featured .community-featured-art--albums { min-height:200px; }
  .community-album-stack { height:200px; }
  .community-featured-art--albums .community-album-cover { width:132px; height:132px; border-radius:12px; }
  .community-album-stack .community-album-cover--back-left { --album-x:-42px; }
  .community-album-stack .community-album-cover--back-right { --album-x:42px; }
  .community-album-stack:hover .community-album-cover--back-left { --album-x:-49px; }
  .community-album-stack:hover .community-album-cover--back-right { --album-x:49px; }
}
@media(prefers-reduced-motion:reduce) { .community-featured-art--albums .community-album-cover { transition:none; } }
.community-meta { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:16px; color:var(--vault-muted); font-size:12px; }
.community-meta .community-live { color:var(--vault-gold); }
.community-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.community-card { display:flex; align-items:flex-start; gap:20px; padding:24px; border:1px solid var(--vault-line); border-radius:14px; background:var(--vault-panel); }
.community-card img { width:88px; height:88px; object-fit:cover; border-radius:10px; flex-shrink:0; }
.community-card h2 { font-size:20px; font-weight:600; margin:8px 0; }
.community-card p { font-size:13px; line-height:1.6; color:var(--vault-muted); }
.community-card .community-button { margin-top:16px; }
.community-empty { padding:50px 20px; text-align:center; color:var(--vault-muted); }
.community-breadcrumbs { display:flex; align-items:center; gap:10px; flex-wrap:wrap; color:var(--vault-muted); font-size:12px; margin-bottom:18px; }
.community-back { border:0; padding:0; background:none; color:var(--vault-muted); font:inherit; cursor:pointer; min-height:30px; }
.community-back:hover { color:var(--vault-text); }
.community-tournament-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.community-tournament-heading h1 { font-size:29px; line-height:1.25; font-weight:600; letter-spacing:-.025em; margin:0 0 7px; }
.community-results { flex:1 0 100%; min-width:0; margin-top:12px; }
.community-results-heading { margin-bottom:12px; }
.community-results-heading h2 { margin:0 0 5px; font-size:20px; font-weight:600; letter-spacing:-.02em; }
.community-results-heading p { margin:0; font-size:12px; color:var(--vault-muted); line-height:1.6; }
.community-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.community-podium-card { display:flex; align-items:center; gap:12px; min-width:0; padding:18px; border:1px solid var(--podium-border,var(--vault-line)); border-radius:12px; background:var(--podium-fill,var(--vault-panel)); color:#241b14; text-align:left; font:inherit; cursor:pointer; }
.community-podium-card:hover { filter:brightness(1.05); }
.community-podium-card:focus-visible { outline:2px solid var(--vault-gold); outline-offset:3px; }
.community-podium-card[data-podium-place="1"] { --podium-fill:linear-gradient(120deg,#f4dfa0 0%,#d3b366 45%,#eed396 100%); --podium-border:#dac17e; }
.community-podium-card[data-podium-place="2"] { --podium-fill:linear-gradient(120deg,#eceff3 0%,#b5bdc7 45%,#dfe4eb 100%); --podium-border:#bfc6d0; }
.community-podium-card[data-podium-place="3"] { --podium-fill:linear-gradient(120deg,#e2b38b 0%,#c08a60 45%,#d9a077 100%); --podium-border:#bb835a; }
.community-podium-rank { flex:none; color:inherit; font-size:27px; font-weight:600; line-height:1; }
.community-podium-card img { flex:none; width:52px; height:52px; border-radius:8px; object-fit:cover; }
.community-podium-copy { flex:1; min-width:0; }
.community-podium-copy small { display:block; margin-bottom:4px; font-size:10px; color:inherit; }
.community-podium-copy strong { display:block; font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.community-podium-copy > span { display:block; margin-top:5px; font-size:10px; color:inherit; }
.community-podium-arrow { flex:none; color:inherit; }
.community-fullscreen .community-results { display:none; }
@media(max-width:760px) { .community-podium { grid-template-columns:1fr; gap:9px; } .community-podium-card { padding:14px; } }
.community-tournament-heading p { color:var(--vault-muted); font-size:13px; }
.community-stage-badge { padding:7px 12px; border-radius:20px; background:rgba(var(--vault-gold-rgb),.1); color:var(--vault-gold); font-size:12px; }
.community-map-toolbar { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px; align-items:center; }
.community-fullscreen-exit { display:none; }
.community-fullscreen .community-fullscreen-enter { display:none; }
.community-fullscreen .community-fullscreen-exit { display:block; }
.community-active-nav { display:inline-flex; align-items:stretch; border:1px solid var(--vault-line); border-radius:var(--control-radius); background:var(--vault-panel); }
.community-active-nav > .community-button { border:0; background:transparent; border-radius:0; }
.community-active-nav > .community-button:first-child { border-radius:var(--control-radius) 0 0 var(--control-radius); }
.community-active-nav > .community-button:last-child { border-radius:0 var(--control-radius) var(--control-radius) 0; }
.community-active-nav > .community-button:hover { background:var(--vault-panel-raised); }
.community-active-position { display:flex; align-items:center; justify-content:center; min-width:48px; padding:0 7px; color:var(--vault-muted); font-size:12px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.community-active-nav .community-active-arrow { min-width:34px; padding:7px; border-left:1px solid var(--vault-line); }
.community-active-arrow svg { width:17px; height:17px; pointer-events:none; }
.community-search { position:relative; display:flex; gap:6px; flex:1; min-width:200px; max-width:480px; margin-left:auto; }
.community-search-field { flex:1; min-width:0; }
.community-search-results { position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:60; max-height:min(380px,50dvh); overflow-y:auto; overscroll-behavior:contain; padding:6px; border:1px solid var(--vault-line-strong); border-radius:12px; background:var(--vault-panel-raised); box-shadow:var(--vault-shadow); }
.community-search-option { display:flex; align-items:center; gap:12px; width:100%; min-height:66px; padding:10px; border:0; border-radius:8px; background:transparent; color:var(--vault-text); text-align:left; font:inherit; cursor:pointer; }
.community-search-option:hover,.community-search-option[aria-selected="true"] { background:rgba(var(--vault-gold-rgb),.1); }
.community-search-option img { flex:0 0 44px; width:44px; height:44px; border-radius:7px; object-fit:cover; }
.community-search-option-copy { min-width:0; }
.community-search-option strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:13px; font-weight:600; }
.community-search-option small { display:block; margin-top:3px; color:var(--vault-muted); font-size:11px; }
.community-search-empty { margin:0; padding:16px 12px; color:var(--vault-muted); font-size:12px; }
.community-input { width:100%; min-width:0; border:1px solid var(--vault-line); border-radius:8px; background:var(--vault-panel); color:var(--vault-text); padding:10px 12px; font:inherit; font-size:13px; }
.community-input::placeholder { color:var(--vault-dim); }
.community-workspace { display:grid; grid-template-columns:minmax(0,1fr) 302px; grid-template-rows:minmax(0,1fr); height:clamp(500px,67dvh,850px); overflow:hidden; border:1px solid var(--vault-line); border-radius:14px; background:var(--vault-bg-deep); }
.community-map { position:relative; height:100%; min-height:0; min-width:0; overflow:hidden; touch-action:none; cursor:grab; user-select:none; background-image:radial-gradient(var(--vault-line) .8px,transparent .8px); background-size:24px 24px; }
.community-map.is-dragging { cursor:grabbing; }
.community-world { --community-detail:1; --community-meta-opacity:1; --community-content-opacity:1; --community-card-font:14px; --community-card-cover:30px; --community-card-gap:8px; --community-card-padding:10px; position:absolute; top:0; left:0; transform-origin:0 0; }
.community-world[data-camera-animating] { will-change:transform; }
.community-nodes { position:absolute; inset:0; contain:layout style; }
.community-connections { position:absolute; left:0; top:0; overflow:visible; pointer-events:none; }
.community-edge { fill:none; stroke:var(--vault-line-strong); stroke-width:1.5; }
.community-edge--bronze { stroke:#8b725c; }
.community-edge.is-traced { stroke:var(--vault-gold); stroke-width:2.3; }
.community-edge.is-future { stroke-dasharray:7 6; }
.community-overview-nodes { display:none; }
.community-map.is-overview .community-overview-nodes { display:initial; }
.community-overview-card { fill:var(--vault-panel-raised); stroke:var(--vault-line-strong); stroke-width:3; }
.community-match.community-match--bronze { border-color:#8b725c; }
.community-overview-card.is-active { fill:color-mix(in srgb,var(--vault-gold) 18%,var(--vault-panel)); stroke:var(--vault-gold); }
.community-overview-card.is-traced { stroke:var(--vault-gold); stroke-width:4; }
.community-overview-card.is-selected { fill:color-mix(in srgb,var(--vault-gold) 12%,var(--vault-panel)); stroke:var(--vault-gold); stroke-width:5; }
.community-match { position:absolute; display:flex; flex-direction:column; contain:layout paint; width:248px; height:128px; padding:0; overflow:hidden; border:1px solid var(--vault-line-strong); border-radius:12px; background:var(--vault-panel); color:var(--vault-text); text-align:left; font:inherit; cursor:pointer; transition:border-color 180ms ease,background-color 180ms ease,box-shadow 180ms ease; }
.community-match:hover { border-color:var(--vault-muted); background:var(--vault-panel-raised); }
.community-match.is-traced { border-color:rgba(var(--vault-gold-rgb),.55); }
.community-match.is-selected { border-color:var(--vault-gold); background:color-mix(in srgb,var(--vault-gold) 5%,var(--vault-panel)); box-shadow:0 0 0 1px rgba(var(--vault-gold-rgb),.12),0 5px 18px #0003; }
.community-match-top { display:flex; align-items:center; justify-content:space-between; flex:0 0 calc(30px * var(--community-detail)); min-height:0; height:calc(30px * var(--community-detail)); gap:5px; overflow:hidden; white-space:nowrap; padding:calc(5px * var(--community-detail)) 10px; color:var(--vault-muted); background:rgba(255,255,255,.018); font-size:13px; line-height:1; opacity:calc(var(--community-meta-opacity) * var(--community-content-opacity)); }
.community-match[data-status="active"] .community-match-state { color:var(--vault-gold); }
.community-match-song { position:relative; display:flex; align-items:center; flex:1; min-height:0; gap:var(--community-card-gap); padding:0 var(--community-card-padding); font-size:var(--community-card-font); line-height:1.2; opacity:var(--community-content-opacity); }
.community-match-song + .community-match-song { border-top:calc(1.25px * var(--community-label-scale,1)) solid var(--vault-line); }
.community-match-song img, .community-match-placeholder { display:block; width:var(--community-card-cover); height:var(--community-card-cover); border-radius:calc(5px * var(--community-label-scale,1)); object-fit:cover; flex-shrink:0; }
.community-match-placeholder { display:grid; place-items:center; background:var(--vault-panel-raised); color:var(--vault-dim); font-size:var(--community-card-font); }
.community-match-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; }
.community-match-score { flex:0 0 auto; width:auto; min-width:2.4em; white-space:nowrap; text-align:right; font-size:.9em; font-variant-numeric:tabular-nums; }
.community-match-song.is-winner { color:var(--vault-gold); background:linear-gradient(90deg,rgba(var(--vault-gold-rgb),.075),transparent 85%); }
.community-match-song.is-loser, .community-match-song.is-unknown { color:var(--vault-muted); }
.community-round { position:absolute; top:42px; width:248px; text-align:center; color:var(--vault-muted); font-size:16px; opacity:var(--community-detail); }
.community-champion { position:absolute; top:0; left:0; width:248px; text-align:center; color:var(--vault-gold); transform-origin:0 0; pointer-events:none; contain:layout style; }
.community-champion img { width:76px; height:76px; border-radius:50%; object-fit:cover; display:block; margin:0 auto 12px; }
.community-champion strong { display:block; margin:8px 0; font-size:18px; font-weight:600; }
.community-champion p { font-size:13px; color:var(--vault-muted); }
.community-champion .community-champion-logo { object-fit:contain; }
.community-world.is-overview .community-match > *, .community-world.is-overview .community-round { visibility:hidden; }
.community-world.is-overview .community-match { border-width:3px; background:var(--vault-panel-raised); }
.community-world.is-overview .community-match[data-status="active"] { background:color-mix(in srgb,var(--vault-gold) 18%,var(--vault-panel)); border-color:var(--vault-gold); }
.community-map-caption { position:absolute; left:14px; top:14px; max-width:calc(100% - 28px); display:flex; flex-wrap:wrap; gap:6px; pointer-events:none; }
.community-map-caption > span { padding:6px 9px; border:1px solid var(--vault-line); border-radius:8px; color:var(--vault-muted); background:var(--vault-panel); font-size:11px; }
.community-map-caption .community-path-caption { display:inline-flex; align-items:center; max-width:100%; gap:7px; padding:3px 5px 3px 9px; color:var(--vault-gold); pointer-events:auto; }
.community-path-caption [data-path-label] { min-width:0; overflow-wrap:anywhere; }
.community-path-clear { display:inline-flex; align-items:center; justify-content:center; flex:0 0 26px; width:26px; height:26px; padding:4px; border:0; border-radius:5px; background:transparent; color:var(--vault-muted); cursor:pointer; }
.community-path-clear svg { width:14px; height:14px; pointer-events:none; }
.community-path-clear:hover { color:var(--vault-gold); background:rgba(var(--vault-gold-rgb),.1); }
.community-zoom { position:absolute; right:14px; bottom:14px; display:flex; align-items:center; gap:3px; background:var(--vault-panel); border:1px solid var(--vault-line); border-radius:10px; padding:4px; }
.community-zoom .community-button { padding:0; min-width:36px; min-height:36px; border:0; font-size:20px; }
.community-zoom output { min-width:46px; text-align:center; font-size:12px; font-variant-numeric:tabular-nums; color:var(--vault-muted); }
.community-mini { position:absolute; bottom:14px; left:14px; width:166px; height:110px; border:1px solid var(--vault-line); border-radius:10px; background:var(--vault-panel); overflow:hidden; padding:6px; cursor:pointer; }
.community-mini svg { display:block; width:100%; height:100%; }
.community-mini-node { fill:var(--vault-line-strong); }
.community-mini-node.is-active { fill:var(--vault-gold); }
.community-mini-viewport { stroke:var(--vault-gold); stroke-width:12; fill:rgba(var(--vault-gold-rgb),.08); }
.community-detail { min-width:0; min-height:0; container-type:inline-size; overflow-y:auto; overflow-anchor:none; scrollbar-gutter:stable; overscroll-behavior:contain; padding:20px; border-left:1px solid var(--vault-line); background:var(--vault-panel); }
.community-detail-scroll-reserve { height:0; pointer-events:none; overflow-anchor:none; }
.community-detail-top { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--vault-gold); font-size:12px; }
.community-detail h2 { margin:12px 0 6px; font-size:21px; font-weight:600; }
.community-detail-meta, .community-detail-note { color:var(--vault-muted); font-size:12px; line-height:1.65; }
.community-options { display:grid; gap:12px; margin-top:18px; }
.community-option { --community-action-size:36px; background:var(--vault-panel-raised); padding:14px; border-radius:10px; }
.community-option-heading { display:flex; align-items:center; gap:10px; }
.community-option-heading img { width:40px; height:40px; border-radius:7px; object-fit:cover; flex-shrink:0; }
.community-option-name { font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.community-song-meta { display:flex; align-items:center; flex-wrap:wrap; gap:4px; margin-top:4px; }
.community-song-meta .community-option-era { pointer-events:none; cursor:default; user-select:text; }
.community-option-result { display:flex; justify-content:space-between; color:var(--vault-muted); font-size:12px; margin-top:12px; }
.community-result-track { height:4px; border-radius:4px; overflow:hidden; background:var(--vault-line); margin-top:8px; }
.community-result-track > span { display:block; height:100%; background:var(--vault-gold); transform-origin:left center; }
.community-vote-dialog { position:fixed; inset:0; width:min(420px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:28px; overflow:auto; border:1px solid var(--vault-line-strong); border-radius:16px; background:var(--vault-panel); color:var(--vault-text); box-shadow:0 24px 80px #0008; font:inherit; }
.community-vote-dialog::backdrop { background:rgba(0,0,0,.66); backdrop-filter:blur(5px); animation:community-vote-backdrop-in .2s ease-out; }
.community-vote-dialog[data-closing]::backdrop { animation:community-vote-backdrop-out .18s ease-in forwards; }
.community-vote-dialog h2 { margin:10px 0 12px; padding-right:15px; font-size:24px; font-weight:600; line-height:1.2; letter-spacing:-.025em; }
.community-vote-dialog p { margin:0; color:var(--vault-muted); font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.community-vote-dialog p [data-i18n-skip] { color:var(--vault-text); }
.community-vote-close { position:absolute; right:12px; top:12px; min-height:32px; width:32px; padding:0; border:0; background:transparent; color:var(--vault-muted); font-size:22px; }
.community-vote-confirm-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }
.community-vote-confirm-actions .community-button { min-height:44px; white-space:normal; }
@keyframes community-vote-backdrop-in { from { background:rgba(0,0,0,0); backdrop-filter:blur(0); } }
@keyframes community-vote-backdrop-out { to { background:rgba(0,0,0,0); backdrop-filter:blur(0); } }
@media(max-width:380px) { .community-vote-dialog { padding:24px 18px; } .community-vote-confirm-actions { gap:8px; } }
@media(prefers-reduced-motion:reduce) { .community-vote-dialog::backdrop { animation:none !important; } }
.community-option-actions { display:flex; align-items:center; gap:6px; margin-top:12px; }
.community-option-actions .community-button { font-size:12px; height:var(--community-action-size); min-height:var(--community-action-size); padding:7px 6px; }
.community-option-actions [data-vote] { flex:1; min-width:0; white-space:nowrap; }
.community-detail-note { margin-top:16px; }
.community-option-actions .community-song-icon { flex:0 0 var(--community-action-size); width:var(--community-action-size); padding:0; color:var(--vault-muted); }
.community-option-actions--secondary .community-song-icon { flex:1; width:auto; }
.community-song-icon:hover { color:var(--vault-gold); }
.community-song-icon svg { display:block; width:17px; height:17px; pointer-events:none; }
.community-song-icon[aria-busy="true"] { animation:community-song-loading 900ms ease-in-out infinite alternate; }
.community-song-footer { margin-top:8px; }
.community-song-journey { width:100%; height:var(--community-action-size); min-height:var(--community-action-size); padding:7px; color:var(--vault-muted); font-size:12px; }
.community-song-journey:hover { color:var(--vault-gold); }
.community-song-journey:focus-visible { outline:2px solid var(--vault-gold); outline-offset:2px; border-radius:3px; }
@keyframes community-song-loading { to { opacity:.4; } }
.community-discussion { border-top:1px solid var(--vault-line); margin-top:20px; padding-top:16px; }
.community-discussion summary { display:flex; align-items:center; gap:8px; min-height:36px; color:var(--vault-text); cursor:pointer; font-size:13px; font-weight:500; list-style:none; }
.community-discussion summary::-webkit-details-marker { display:none; }
.community-discussion summary > svg { flex:none; width:18px; height:18px; color:var(--vault-muted); }
.community-discussion-count { display:inline-grid; place-items:center; min-width:22px; height:21px; padding:0 5px; border:1px solid var(--vault-line); border-radius:6px; color:var(--vault-muted); font-size:10px; font-variant-numeric:tabular-nums; }
.community-discussion summary .community-discussion-chevron { width:15px; height:15px; margin-left:auto; transition:transform .22s ease; }
.community-discussion[open] .community-discussion-chevron { transform:rotate(180deg); }
.community-discussion[open] .community-discussion-content { animation:community-discussion-reveal .24s ease-out; }
.community-discussion-demo { margin:8px 0 3px; color:var(--vault-muted); font-size:10px; line-height:1.5; }
.community-discussion-empty { margin:16px 0; color:var(--vault-muted); font-size:12px; line-height:1.6; }
.community-comment { display:flex; align-items:flex-start; gap:9px; padding:16px 0; border-bottom:1px solid var(--vault-line); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.community-comment.is-reply { margin-left:12px; padding-left:12px; border-left:1px solid var(--vault-line-strong); }
.community-comment-avatar { flex:none; display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:50%; overflow:hidden; font:inherit; font-size:12px; font-weight:600; cursor:pointer; transition:box-shadow .18s ease; }
.community-comment-avatar:hover { box-shadow:0 0 0 2px rgba(var(--vault-gold-rgb),.4); }
.community-comment-avatar--gold { background:rgba(var(--vault-gold-rgb),.13); color:var(--vault-gold); }
.community-comment-avatar--silver { background:var(--vault-panel-raised); color:var(--vault-text); border:1px solid var(--vault-line-strong); }
.community-comment-avatar img { display:block; width:30px; height:30px; object-fit:cover; }
.community-comment-body { flex:1; min-width:0; }
.community-comment-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.community-comment strong { font-size:11px; color:var(--vault-text); font-weight:600; }
.community-comment.is-own strong { color:var(--vault-gold); }
.community-comment-author { min-width:0; max-width:100%; margin:0; padding:0; border:0; background:none; color:var(--vault-text); font:inherit; font-size:11px; font-weight:600; line-height:1.5; text-align:left; cursor:pointer; overflow-wrap:anywhere; transition:color .18s ease; }
.community-comment .community-comment-author strong { color:inherit; font:inherit; }
.community-comment.is-own .community-comment-author { color:var(--vault-gold); }
.community-comment-author:hover { color:var(--vault-gold); text-decoration:underline; text-underline-offset:3px; }
.community-comment-author--mention { font-size:10px; font-weight:400; color:var(--vault-muted); }
.community-comment-author:focus-visible,.community-comment-avatar:focus-visible { outline:2px solid var(--vault-gold); outline-offset:3px; }
.community-comment time { flex:none; font-size:10px; color:var(--vault-muted); font-variant-numeric:tabular-nums; }
.community-comment p { margin:5px 0 0; color:var(--vault-text); white-space:pre-wrap; }
.community-comment-parent { margin-top:3px; font-size:10px; color:var(--vault-muted); }
.community-comment-reply { padding:0; margin-top:7px; border:0; background:none; color:var(--vault-muted); cursor:pointer; font:inherit; font-size:10px; }
.community-comment-reply:hover { color:var(--vault-gold); }
.community-comment-form { margin-top:18px; display:grid; gap:10px; }
.community-comment-form > label { font-size:12px; font-weight:500; }
.community-comment-form textarea { min-height:95px; resize:vertical; line-height:1.6; }
.community-comment-compose-footer { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.community-comment-compose-footer > span { font-size:10px; color:var(--vault-muted); font-variant-numeric:tabular-nums; }
.community-comment-compose-footer .community-button { min-height:36px; padding:8px 12px; font-size:12px; }
.community-comment-compose-footer .community-button:disabled { opacity:.45; }
.community-comment-local { margin:0; font-size:10px; color:var(--vault-muted); line-height:1.5; }
.community-comment-status { font-size:11px; color:var(--vault-gold); }
.community-comment-status:empty { display:none; }
.community-comment-reply-target { display:flex; align-items:flex-start; gap:8px; padding:9px 10px; border-left:2px solid var(--vault-gold); border-radius:0 6px 6px 0; background:rgba(var(--vault-gold-rgb),.06); }
.community-comment-reply-target > div { flex:1; min-width:0; }
.community-comment-reply-target span { font-size:10px; color:var(--vault-gold); }
.community-comment-reply-target p { overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; margin:3px 0 0; color:var(--vault-muted); font-size:11px; overflow-wrap:anywhere; }
.community-comment-reply-target button { flex:none; width:24px; height:24px; padding:0; border:0; background:transparent; color:var(--vault-muted); font-size:20px; cursor:pointer; }
.community-comment-reply:focus-visible,.community-comment-reply-target button:focus-visible,.community-discussion summary:focus-visible { outline:2px solid var(--vault-gold); outline-offset:3px; }
@keyframes community-discussion-reveal { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(pointer:coarse) { .community-comment-reply { min-height:32px; } .community-comment-compose-footer .community-button { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .community-discussion[open] .community-discussion-content { animation:none; } .community-discussion-chevron,.community-comment-author,.community-comment-avatar { transition:none !important; } }
.community-map-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; color:var(--vault-muted); font-size:11px; margin-top:10px; }
.community-legend { display:flex; flex-wrap:wrap; gap:14px; }
.community-legend span::before { content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:var(--vault-line-strong); margin-right:6px; }
.community-legend span:first-child::before { background:var(--vault-gold); }
.community-legend span:last-child::before { background:transparent; border:1px solid var(--vault-muted); }
.community-participants { border:1px solid var(--vault-line); border-radius:12px; padding:18px; margin-top:22px; }
.community-participants summary { cursor:pointer; font-size:14px; font-weight:600; }
.community-roster-total { display:inline-block; margin-left:7px; padding:2px 8px; border:1px solid var(--vault-line); border-radius:6px; color:var(--vault-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.community-roster-hint { margin:8px 0 18px; color:var(--vault-muted); font-size:12px; }
.community-roster-toolbar { display:flex; align-items:end; justify-content:space-between; gap:16px; }
.community-roster-search { position:relative; flex:1; max-width:480px; min-width:0; }
.community-roster-search > svg { position:absolute; left:12px; top:13px; width:17px; height:17px; color:var(--vault-muted); pointer-events:none; }
.community-roster-search .community-input { width:100%; min-height:44px; padding-left:38px; padding-right:42px; appearance:none; }
.community-roster-search input::-webkit-search-cancel-button { appearance:none; }
.community-roster-search > button { position:absolute; right:5px; top:5px; width:34px; height:34px; display:grid; place-items:center; border:0; border-radius:6px; background:transparent; color:var(--vault-muted); cursor:pointer; font-size:22px; }
.community-roster-search > button:hover { background:var(--vault-panel-raised); color:var(--vault-text); }
.community-roster-sort { display:flex; align-items:center; gap:10px; color:var(--vault-muted); font-size:12px; }
.community-roster-sort select { min-height:44px; width:185px; color:var(--vault-text); cursor:pointer; }
.community-roster-filters { display:flex; flex-wrap:wrap; gap:7px; margin:14px 0 18px; }
.community-roster-filters .community-button { gap:8px; min-height:36px; padding:7px 10px; font-size:12px; }
.community-roster-filters .community-button > span { color:var(--vault-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.community-roster-filters [aria-pressed="true"] > span { color:var(--vault-gold); }
.community-participant-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(245px,1fr)); gap:8px; margin:0; padding:0; list-style:none; }
.community-participant-list li { min-width:0; }
.community-participant-list .community-participant { display:flex; align-items:center; gap:12px; width:100%; height:100%; min-height:98px; text-align:left; border:1px solid var(--vault-line); border-radius:9px; padding:13px; background:var(--vault-panel); color:var(--vault-text); cursor:pointer; font:inherit; transition:background .18s ease,border-color .18s ease; }
.community-participant-list .community-participant:hover { background:var(--vault-panel-raised); border-color:var(--vault-line-strong); }
.community-participant-list .community-participant[aria-pressed="true"] { border-color:var(--vault-gold); background:rgba(var(--vault-gold-rgb),.06); }
.community-participant:focus-visible,.community-roster-search > button:focus-visible { outline:2px solid var(--vault-gold); outline-offset:3px; }
.community-participant-list img { flex:none; width:44px; height:44px; border-radius:6px; object-fit:cover; }
.community-participant-copy { min-width:0; flex:1; }
.community-participant-list strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; line-height:1.4; font-weight:600; overflow-wrap:anywhere; }
.community-participant-meta { display:flex; flex-wrap:wrap; align-items:center; gap:5px 8px; margin-top:7px; }
.community-participant-list small { color:var(--vault-muted); font-size:10px; white-space:nowrap; }
.community-participant-status { display:inline-flex; align-items:center; gap:5px; color:var(--vault-muted); font-size:10px; line-height:1.4; white-space:nowrap; }
.community-participant-status::before { content:""; width:5px; height:5px; border-radius:50%; background:var(--vault-muted); opacity:.55; }
[data-participant-status="active"] .community-participant-status,[data-participant-status="champion"] .community-participant-status { color:var(--vault-gold); }
[data-participant-status="active"] .community-participant-status::before,[data-participant-status="champion"] .community-participant-status::before { background:var(--vault-gold); opacity:1; }
[data-participant-status="remaining"] .community-participant-status::before { background:transparent; border:1px solid var(--vault-muted); opacity:1; }
.community-participant-arrow { flex:none; color:var(--vault-muted); font-size:15px; opacity:0; transition:opacity .18s ease; }
.community-participant:hover .community-participant-arrow,.community-participant:focus-visible .community-participant-arrow { opacity:1; }
.community-roster-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-top:18px; padding-top:14px; border-top:1px solid var(--vault-line); color:var(--vault-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.community-roster-pagination { display:flex; align-items:center; gap:10px; }
.community-roster-pagination .community-button { min-width:38px; min-height:36px; padding:6px; }
.community-roster-pagination [aria-disabled="true"] { opacity:.35; cursor:default; }
.community-roster-pagination > span { min-width:44px; text-align:center; }
.community-roster-empty { padding:28px 12px; text-align:center; }
.community-roster-empty strong { font-size:14px; }
.community-roster-empty p { margin:8px 0 16px; font-size:12px; color:var(--vault-muted); }
@media(max-width:760px) {
  .community-participants { padding:14px; }
  .community-roster-toolbar { align-items:stretch; flex-direction:column; gap:10px; }
  .community-roster-search { max-width:none; }
  .community-roster-sort { justify-content:space-between; }
  .community-roster-sort select { flex:1; max-width:240px; min-width:0; }
  .community-participant-list { grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); }
  .community-participant-arrow { opacity:1; }
}
@media(prefers-reduced-motion:reduce) { .community-participant,.community-participant-arrow { transition:none !important; } }
.community-status { min-height:20px; font-size:12px; color:var(--vault-muted); margin-top:14px; }
.community-fullscreen { display:flex !important; flex-direction:column; height:100dvh !important; min-height:0 !important; padding:20px 20px max(20px,var(--player-dock-reserve,0px)) !important; background:var(--vault-bg) !important; overflow:hidden !important; transition:padding-bottom var(--dock-motion,320ms) var(--dock-ease,ease); }
.community-fullscreen > :is(.community-tournament-heading,.community-personal-tools,.community-map-toolbar,.community-map-footer) { flex:none; min-width:0; }
.community-fullscreen .community-map-toolbar { align-self:stretch; }
.community-fullscreen .community-workspace { flex:1 1 0; height:auto; min-height:0; }
@media(min-width:1101px) { #appHeader { grid-template-columns:176px max-content minmax(120px,1fr) auto; gap:6px 20px; } }
@media(max-width:1100px) and (min-width:761px) {
  #appHeader { grid-template-columns:176px minmax(0,1fr) auto; }
  #appHeader .search-wrap { grid-column:2; grid-row:1; }
  #appHeader .header-actions { grid-column:3; grid-row:1; }
  #appHeader #appNav { grid-column:1 / -1; grid-row:2; width:max-content; max-width:100%; margin:0 auto; }
  #librarySidebar { top:calc(var(--app-header-height,106px) + 12px); }
}
@media(max-width:1000px) {
  .community-workspace { grid-template-columns:minmax(0,1fr) 270px; }
  .community-detail { padding:16px; }
  .community-featured { grid-template-columns:minmax(0,1fr) 200px; gap:24px; padding:28px; }
  .community-card { gap:14px; padding:20px; }
  .community-card img { width:64px; height:64px; }
}
@media(max-width:760px) {
  #communityView { padding:24px 16px calc(28px + var(--player-dock-reserve,0px)); }
  #appHeader #appNav { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .community-heading { flex-direction:column-reverse; gap:15px; }
  .community-heading h1 { font-size:29px; }
  .community-featured { grid-template-columns:1fr; padding:24px; gap:18px; }
  .community-featured-art { grid-row:1; min-height:140px; }
  .community-featured-art img { width:130px; height:130px; }
  .community-featured-art::before, .community-featured-art::after { width:115px; height:115px; }
  .community-featured h2 { font-size:27px; }
  .community-cards { grid-template-columns:1fr; gap:14px; }
  .community-tournament-heading h1 { font-size:25px; }
  .community-workspace { grid-template-columns:1fr; grid-template-rows:none; height:auto; }
  .community-map { height:480px; }
  .community-detail { overflow:visible; border-left:0; border-top:1px solid var(--vault-line); }
  .community-options { grid-template-columns:1fr; gap:10px; }
  .community-option { padding:12px; }
  .community-option-heading { align-items:center; flex-direction:row; }
  .community-search { max-width:none; min-width:100%; margin:0; }
  .community-map-toolbar > [data-fullscreen] { order:1; }
  .community-active-nav { order:2; flex:1 0 100%; }
  .community-active-nav > [data-current] { flex:1; }
  .community-map-toolbar > .community-search { order:3; }
  body[data-view="community"] #playerBar { left:12px; right:12px; }
  .community-fullscreen { padding:12px 12px max(12px,var(--player-dock-reserve,0px)) !important; }
  .community-fullscreen .community-workspace { height:auto; overflow-y:auto; scrollbar-gutter:stable; grid-template-rows:minmax(240px,45dvh) max-content; }
  .community-fullscreen .community-map { height:100%; }
}
@media(max-width:600px) {
  .community-map-toolbar>[data-fullscreen] { flex:none; width:44px; min-width:44px; min-height:44px; padding:10px; }
  .community-map-toolbar [data-fullscreen-label] { display:none; }
}
@media(max-width:460px) {
  #appHeader #appNav { grid-template-columns:1fr .8fr 1fr 1.45fr; gap:2px; }
  #appHeader .app-nav-button { padding:8px 3px; font-size:12px; min-width:0; }
  #appHeader .app-nav-icon { display:none; }
  .community-mini { width:108px; height:78px; }
  .community-button { min-height:42px; padding:8px 11px; font-size:12px; }
  .community-card { flex-direction:column; }
  .community-map { height:440px; }
  .community-detail { padding:12px; }
  .community-option-name { font-size:13px; }
  .community-option-result { flex-wrap:wrap; gap:3px; }
}
@media(pointer:coarse) {
  .community-button, .community-tab, .community-option-actions .community-button { min-height:44px; }
  .community-zoom .community-button { min-width:44px; min-height:44px; }
  .community-input { font-size:16px; }
  .community-active-nav .community-active-arrow { min-width:44px; }
  .community-option { --community-action-size:44px; }
}
@media(prefers-reduced-motion:reduce) { .community-match,.community-fullscreen { transition:none; } .community-song-icon[aria-busy="true"] { animation:none; } }
/* Development identities are shown only by the loopback preview server. */
.community-server-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 20px;color:var(--muted,#b5b3ac);font-size:13px}
.community-server-controls:empty{display:none}
.community-server-controls .community-button{min-height:34px;padding:7px 12px;font-size:13px;text-decoration:none}
.community-server-controls [aria-pressed="true"]{color:#e2cb81;border-color:#8d7b45;background:#28251c}
.community-button[aria-busy="true"]{opacity:.65;cursor:progress}
.community-vote-deadline{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:6px;font-size:12px;color:var(--muted,#b5b3ac)}
.community-deadline-date{min-width:0}
.community-deadline-date>small{display:block;margin-top:2px;font-size:11px;color:var(--vault-muted)}
.community-deadline-countdown{min-width:0;max-width:52%;margin-left:auto;text-align:right;color:var(--vault-gold);font-variant-numeric:tabular-nums}
.community-vote-deadline.is-active{gap:8px;font-size:clamp(10px,4.2cqi,12px)}
.community-vote-deadline.is-active .community-deadline-date{white-space:nowrap}
.community-vote-deadline.is-active .community-deadline-countdown{flex-shrink:0;max-width:none;white-space:nowrap}
.community-match-clock{font-variant-numeric:tabular-nums}
.community-schedule-button svg{width:18px;height:18px;flex:none}
.community-schedule-dialog{position:fixed;inset:0;margin:auto;width:min(860px,calc(100vw - 32px));height:auto;max-width:none;max-height:calc(100dvh - 48px);box-sizing:border-box;overflow:hidden;border:1px solid #3d3930;border-radius:20px;padding:0;background:#111113;color:#f0efea;box-shadow:0 28px 100px #0009;font:inherit}
.community-schedule-dialog[open]{display:flex;flex-direction:column}
.community-schedule-dialog::backdrop{background:#000a;backdrop-filter:blur(6px);animation:community-vote-backdrop-in .2s ease-out}
.community-schedule-dialog[data-closing]::backdrop{animation:community-vote-backdrop-out .16s ease-in forwards}
.community-schedule-head{flex:none;display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:start;gap:12px;padding:24px 26px 10px}
.community-schedule-head>div{flex:1;min-width:0}
.community-schedule-dialog h2{margin:8px 0 0;font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.025em}
.community-schedule-head .community-eyebrow{font-size:10px;letter-spacing:.08em}
.community-schedule-hint{grid-column:1/-1;margin:0;color:#999890;font-size:12px;line-height:1.6;max-width:65ch}
.community-schedule-close{display:grid;place-items:center;flex:none;width:36px;height:36px;min-height:36px;padding:0!important;line-height:1;color:#aaa9a3}
.community-schedule-close svg{display:block;flex:none;width:20px;height:20px}
.community-schedule-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:8px 26px 24px}
.community-schedule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.community-schedule-row{position:relative;display:flex;flex-direction:column;gap:0;min-width:0;width:100%;padding:16px;text-align:left;font:inherit;color:inherit;background:#1a1a1d;border:1px solid #303034;border-radius:15px;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}
.community-schedule-row.is-live{border-color:#5c5236;background:radial-gradient(ellipse at 50% 25%,#bda15b0c,transparent 80%),#1c1c1e}
.community-schedule-row:hover{border-color:#aa9357;background-color:#24231f;transform:translateY(-2px)}
.community-schedule-row:focus-visible{outline:2px solid #e2cb81;outline-offset:3px}
.community-schedule-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#aaa9a3;font-size:11px;line-height:1.4}
.community-schedule-status{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:6px;background:#ffffff06;font-size:10px;color:#96958f}
.is-live .community-schedule-status{color:#e2cb81;background:#e2cb8110}
.community-schedule-status i{width:5px;height:5px;border-radius:50%;background:currentColor}
.community-schedule-versus{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr);align-items:start;gap:8px;margin:16px 0 14px}
.community-schedule-entrant{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;gap:0}
.community-schedule-entrant>img,.community-schedule-pending-art{display:block;width:56px;height:56px;object-fit:cover;border-radius:10px;box-shadow:0 5px 16px #0003}
.community-schedule-entrant>strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.4;max-width:100%;margin-top:8px}
.community-schedule-era{display:inline-flex;justify-content:center;margin-top:4px}
.community-schedule-pending-art{display:grid;place-items:center;background:#24231d;border:1px solid #3b372b;box-shadow:none}
.community-schedule-pending-art>img{width:40px;height:40px;opacity:.65}
.community-schedule-vs{display:grid;place-items:center;width:32px;height:32px;margin-top:12px;border-radius:50%;border:1px solid #665735;background:#201e17;color:#e2cb81;font-size:10px;font-weight:600;letter-spacing:.06em}
.community-schedule-card-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:auto;padding-top:13px;border-top:1px solid #333235}
.community-schedule-dates{min-width:0;font-size:11px;line-height:1.5;color:#92918a}
.community-schedule-dates>small{display:block;font-size:10px;color:#77766f;margin-top:2px}
.community-schedule-countdown{min-width:0;max-width:52%;margin-left:auto;text-align:right;color:#e2cb81;font-size:12px;font-weight:500;line-height:1.5}
.community-schedule-jump{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;font-size:11px;color:#c7c4b9}
.community-schedule-jump svg{width:16px;height:16px;color:#e2cb81}
.community-schedule-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;color:#aaa9a3;font-size:13px}
@media(max-width:600px){.community-schedule-dialog{width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 32px);border-radius:16px}.community-schedule-head{padding:20px 18px 8px}.community-schedule-scroll{padding:8px 18px 18px}.community-schedule-dialog h2{font-size:22px}.community-schedule-list{grid-template-columns:1fr;gap:12px}.community-schedule-row{padding:15px}.community-schedule-entrant>img,.community-schedule-pending-art{width:60px;height:60px}.community-schedule-versus{margin:16px 0 14px;gap:6px}.community-schedule-vs{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.community-schedule-dialog::backdrop{animation:none!important}.community-schedule-row{transition:none}}
