:root{--danger:#a4161a;--focus:#2f6fdd;--radius:10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--danger:#ff8a8a;--focus:#fff}}:root[data-theme=dark]{--danger:#ff8a8a;--focus:#fff}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{background:var(--accent);color:var(--accent-fg);border-radius:var(--radius);z-index:10;padding:8px 12px;position:absolute;top:-48px;left:16px}.skip-link:focus{top:16px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.error{color:var(--danger)}.fine-print{color:var(--muted);font-size:.9rem}.app-header{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.app-header .header-account{margin-left:auto}.app-nav{flex-wrap:wrap;flex:1 0 100%;order:3;align-items:center;gap:6px 18px;display:flex}.app-nav a,.nav-placeholder{color:var(--fg);font-weight:600;text-decoration:none}.nav-placeholder{visibility:hidden}.app-nav a.active{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.brand-logo{display:none}.env-badge{border:1px dashed var(--muted);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.account{align-items:center;gap:8px;display:inline-flex}.avatar{object-fit:cover;border-radius:50%;flex:none}.avatar-initial{background:var(--accent);color:var(--accent-fg);place-items:center;font-weight:700;display:inline-grid}@media (width<=380px){.account-name{display:none}}button.button{font:inherit;cursor:pointer;border:0}button.button.secondary{border:1px solid var(--border)}.button.small{padding:6px 14px;font-size:.95rem}.button:disabled{opacity:.6;cursor:default}.status{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0;display:flex}.status.error{color:var(--danger)}#contenido{min-height:100svh}.skeleton{border-radius:var(--radius);background:var(--surface);animation:1.6s ease-in-out infinite skeleton-pulse;display:block}@keyframes skeleton-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.track{width:88px;height:30px;color:var(--accent-line);flex:none;position:relative;overflow:hidden}.track:after{content:"";border-top:2px solid var(--muted);background:repeating-linear-gradient(90deg, var(--border) 0 4px, transparent 4px 11px);height:5px;position:absolute;inset:auto 0 0}.train{fill:currentColor;animation:1.8s linear infinite train-run;position:absolute;bottom:5px;left:-40px}.train-window{fill:var(--bg)}.train-wheel{fill:var(--bg);stroke:currentColor;stroke-width:1.8px}@keyframes train-run{to{transform:translate(128px)}}@media (prefers-reduced-motion:reduce){.train{animation:none;left:24px}}.rails{background:linear-gradient(var(--muted), var(--muted)) top / 100% 2px no-repeat, linear-gradient(var(--muted), var(--muted)) bottom / 100% 2px no-repeat, repeating-linear-gradient(90deg, var(--border) 0 5px, transparent 5px 16px);opacity:.7;height:10px;margin-top:24px}footer.app-footer{border-top:0}@media (width>=900px){.header-bar{background:var(--surface);border-bottom:1px solid var(--border)}.wrap.app-header,.wrap.rails,.wrap.app-footer,main.wrap{max-width:76rem}.app-header{gap:10px 24px;padding-block:14px}.brand{white-space:nowrap;align-items:center;gap:10px;font-size:1.15rem;font-weight:800;display:inline-flex}.brand-logo{display:block}.app-nav{gap:6px 20px}.app-nav a{color:var(--muted)}.app-nav a:hover,.app-nav a.active{color:var(--fg)}main.wrap{padding-top:40px}h1{letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(2.2rem,3.4vw,3.1rem);font-weight:800;line-height:1.08}h2{letter-spacing:-.01em;font-size:1.4rem}main h2:not(dialog h2):before{content:"";background:var(--accent-line);border-radius:2px;width:36px;height:4px;margin-bottom:10px;display:block}main p,main li,main form:not([role=search]),.notice,.note,.post-photo,.mural-timeline{max-width:46rem}.tickets{grid-template-columns:repeat(auto-fill,minmax(26rem,1fr))}.song-list{border-top:0;grid-template-columns:repeat(auto-fill,minmax(24rem,1fr));column-gap:32px;display:grid}}@media (width>=1220px){.app-header{flex-wrap:nowrap}.app-nav{flex:auto;order:0}.app-header .header-account{margin-left:0}}.tickets{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ticket{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto 1fr;display:grid;overflow:hidden}.ticket-stub{writing-mode:vertical-rl;border-left:2px dashed var(--bg);background:var(--accent);color:var(--accent-fg);letter-spacing:.18em;text-align:center;text-transform:uppercase;padding:10px 6px;font-size:.7rem;font-weight:700;transform:rotate(180deg)}.ticket-body{min-width:0;padding:12px 16px}.ticket-title{margin:0;font-size:1.1rem;font-weight:700}.ticket dl{grid-template-columns:max-content 1fr;gap:0 12px;margin:6px 0 0;font-size:.95rem;display:grid}.ticket dt{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;align-self:center;font-size:.72rem}.ticket dd{margin:0}.ticket .badge{margin-left:8px}.search{margin:0 0 12px}.search input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--fg);font:inherit;border-radius:999px;padding:12px 16px}.song-list{border-top:1px solid var(--border);margin:8px 0 24px;padding:0;list-style:none}.song-list li{border-bottom:1px solid var(--border);margin:0}.song-item{color:var(--fg);gap:2px;padding:14px 4px;text-decoration:none;display:grid}.song-item:hover .song-title{text-decoration:underline}.song-title{color:var(--link);font-weight:700}.song-first-line,.song-original{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.song .back{margin-bottom:8px}.song-tools{flex-wrap:wrap;gap:8px;margin:16px 0 8px;display:flex}.lyrics{white-space:pre-line;margin:24px 0 32px;line-height:1.7}.lyrics.size-grande{font-size:1.3rem}.lyrics.size-enorme{font-size:clamp(1.5rem,6vw,2.2rem);font-weight:600;line-height:1.45}.song.cancha .lyrics{letter-spacing:.01em}.dialog{border:1px solid var(--border);background:var(--bg);width:min(100% - 32px,26rem);color:var(--fg);border-radius:16px;padding:24px}.dialog::backdrop{background:#050c1999}.dialog h2{margin-top:0}.story-preview{border:1px solid var(--border);border-radius:12px;width:min(100%,220px);height:auto;margin:0 auto 12px;display:block}.story-dialog .links{margin:12px 0}.story-dialog .fine-print{overflow-wrap:anywhere}.google-signin{min-height:44px;margin:16px 0}.email-signin,.email-signin form{justify-items:start;gap:14px;display:grid}.email-signin p,.email-signin .links{margin:0}.email-signin .field{justify-self:stretch}.signin-fallback{border-top:1px solid var(--border);margin:16px 0;padding-top:12px}.profile{align-items:center;gap:16px;margin-bottom:16px;display:flex}.profile h1{margin:0;font-size:clamp(1.5rem,5vw,2rem)}.profile p{margin:2px 0}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:600}.badge.verified{background:var(--accent);color:var(--accent-fg);border-color:#0000}.form{gap:16px;margin:16px 0 32px;display:grid}.field{gap:6px;font-weight:600;display:grid}.field small{font-weight:400}.field input,.field textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--fg);font:inherit;padding:10px 12px;font-weight:400}.field textarea{resize:vertical;line-height:1.5}.field input:invalid:not(:placeholder-shown){border-color:var(--danger)}.form-actions{flex-wrap:wrap;gap:8px;display:flex}.checkbox{align-items:center;gap:8px;display:flex}button.button.danger{color:var(--danger);border-color:var(--danger);background:0 0}.song-contribute{border-top:1px solid var(--border);padding-top:12px}.plain-list{margin:16px 0;padding:0;list-style:none}.plain-list>li{border-bottom:1px solid var(--border);padding:12px 0}.plain-list p{margin:0}.byline{align-items:center;gap:6px;display:flex}.review-note{border-left:3px solid var(--border);color:var(--muted);margin:8px 0;padding:8px 12px}.notice{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);margin:16px 0;padding:10px 14px}.notice.warning{border-color:var(--warning)}.notice p{margin:0 0 8px}.badge.warning{border-color:var(--warning)}.badge.status-approved{border-color:var(--added-border);background:var(--added)}.badge.status-rejected{border-color:var(--removed-border);background:var(--removed)}:root{--added:#e3f5e8;--added-border:#3a8f55;--added-strong:#b4e3c2;--removed:#fbe7e7;--removed-border:#b84a4a;--removed-strong:#f2bcbc;--warning:#b7791f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--added:#12301e;--added-border:#4fbf78;--added-strong:#1f5a35;--removed:#3a1618;--removed-border:#e07a7a;--removed-strong:#6b2a2d;--warning:#e0b04f}}:root[data-theme=dark]{--added:#12301e;--added-border:#4fbf78;--added-strong:#1f5a35;--removed:#3a1618;--removed-border:#e07a7a;--removed-strong:#6b2a2d;--warning:#e0b04f}.admin-nav,.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px 16px;margin:0 0 16px;padding-bottom:8px;display:flex}.admin-nav a,.tabs a,.tabs button{color:var(--fg);font-weight:600;text-decoration:none}.tabs button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.admin-nav a.active,.tabs a[aria-current=page],.tabs button[aria-current=page],.tabs button[aria-selected=true]{text-underline-offset:6px;text-decoration:underline;text-decoration-thickness:2px}.trash-item{justify-content:space-between;align-items:center;gap:12px;display:flex}.history{gap:24px;display:grid}@media (width>=720px){.history{grid-template-columns:minmax(12rem,1fr) 2fr;align-items:start}}.revision{border-radius:var(--radius);width:100%;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;gap:2px;padding:8px 10px;display:grid}.revision[aria-pressed=true]{border-color:var(--border);background:var(--surface)}.revisions>li{padding:4px 0}.song-diff{gap:16px;margin:16px 0;display:grid}.diff-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.95rem}.diff-table caption{text-align:left;padding-bottom:6px;font-weight:700}.diff-table th,.diff-table td{border:1px solid var(--border);vertical-align:top;text-align:left;overflow-wrap:anywhere;padding:4px 8px}.diff-table thead th{background:var(--surface)}.diff-fields th[scope=row]{width:28%;font-weight:600}.diff-lyrics td{white-space:pre-wrap}.diff-lyrics tr.same td{color:var(--muted)}.diff-lyrics tr:is(.changed,.removed) td:first-child{background:var(--removed)}.diff-lyrics tr:is(.changed,.added) td:last-child{background:var(--added)}.diff-table td.empty{background:var(--surface)}.diff-table del,.diff-table ins{border-radius:3px;text-decoration:none}.diff-table del{background:var(--removed-strong)}.diff-table ins{background:var(--added-strong)}.diff-fields del{text-decoration:line-through}.user-row{align-items:center;gap:12px;display:flex}.fieldset{border:1px solid var(--border);border-radius:var(--radius);gap:10px;margin:16px 0;padding:12px 16px;display:grid}.fieldset legend{padding:0 6px;font-weight:700}.field select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--fg);font:inherit;padding:10px 12px;font-weight:400}.donation-options>li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.donation-options h2{margin:0;font-size:1.2rem}.match-summary p{margin:0}.match-title{font-size:1.15rem;font-weight:700}.match-summary .badge{margin-left:8px}.details{grid-template-columns:max-content 1fr;gap:4px 16px;margin:16px 0;display:grid}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:600}.contact{font-weight:600}.notice.contact{border-color:var(--added-border);background:var(--added)}.grow{flex:1}.user-row{align-items:flex-start}.report{margin-top:32px}.match-summary{margin-bottom:16px}.match-list .match-summary{margin-bottom:0}.chat{border-block:1px solid var(--border);max-height:min(60vh,560px);margin:12px 0;padding:8px 0;list-style:none;overflow-y:auto}.chat-message{align-items:flex-start;gap:10px;padding:8px 4px;display:flex}.chat-message+.chat-message{border-top:1px solid var(--border)}.chat-meta{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:.9rem;display:flex}.chat-meta time{color:var(--muted)}.chat-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:2px 0 4px}.chat-actions{align-items:center;gap:6px;display:flex}.chat-actions .button.small{padding:2px 10px;font-size:.8rem}.chat-message.mine .chat-meta strong{color:var(--link)}.chat-likes{color:var(--muted);font-size:.8rem}.chat-message.mentions-me{box-shadow:inset 3px 0 0 var(--accent-line)}.mention{color:var(--link);font-weight:600}.mention.me{background:var(--surface);outline:1px solid var(--accent-line);border-radius:4px;padding:0 3px}.menu{position:relative}.menu-list{z-index:5;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:130px;padding:4px;display:grid;position:absolute;bottom:0;left:calc(100% + 6px);box-shadow:0 6px 18px #00000040}.menu-list button,.mention-suggestions button{border-radius:calc(var(--radius) - 2px);color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:8px 10px;font-size:.9rem}.menu-list button:hover,.menu-list button:focus-visible,.mention-suggestions button:hover,.mention-suggestions button[aria-selected=true]{background:var(--bg)}.menu-list button:disabled{color:var(--muted);cursor:default}.mention-suggestions{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:4px;display:grid}.mention-suggestions button{align-items:center;gap:8px;display:flex}.composer{gap:6px;margin:12px 0 24px;display:grid}.composer textarea,.inline-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--fg);font:inherit;resize:vertical;padding:10px 12px}.inline-input{flex:1;width:auto}.composer-bar{justify-content:space-between;align-items:center;display:flex}.favorite-mark{color:var(--warning)}.condition-current{--condition:#2f6fdd}.condition-deteriorated{--condition:#d99a00}.condition-covered{--condition:#8a94a6}.badge[class*=condition-]{border-color:var(--condition)}.map{border-radius:var(--radius);border:1px solid var(--border);height:min(70vh,560px);margin:8px 0;overflow:hidden}.map-picker{height:min(55vh,400px)}.map-loading{place-items:center;display:grid}.map-legend{color:var(--muted);flex-wrap:wrap;gap:4px 16px;margin:0 0 16px;padding:0;font-size:.9rem;list-style:none;display:flex}.legend-dot{background:var(--condition);vertical-align:-1px;border:2px solid #fff;border-radius:50%;width:12px;height:12px;margin-right:6px;display:inline-block}.map-card{color:#0f1b2d;font:inherit;gap:4px;text-decoration:none;display:grid}.map-card img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;width:100%;height:auto}.map-card span{color:#4a5a72;font-size:.85rem}.map-card:hover strong{text-decoration:underline}.map-fit-all{color:#333;font-size:18px;font-weight:700;line-height:1}.mural-list{border-top:1px solid var(--border);margin:8px 0 24px;padding:0;list-style:none}.mural-list>li{border-bottom:1px solid var(--border)}.mural-item{color:var(--fg);align-items:center;gap:12px;padding:10px 4px;text-decoration:none;display:flex}.mural-item img,.mural-thumb-empty{object-fit:cover;background:var(--surface);border-radius:6px;flex:none;width:120px;height:90px}.mural-item-text{justify-items:start;gap:4px;display:grid}.mural-title{color:var(--link);font-weight:700}a.mural-item:hover .mural-title{text-decoration:underline}.mural-description{white-space:pre-line}.points-total{font-size:1.1rem}.points-total strong{font-size:1.6rem}.points-total .badge{margin-left:6px}.points-progress{width:100%;height:10px;accent-color:var(--accent-line)}.points-lines{padding:0;list-style:none}.points-lines li{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.ranking-position{min-width:2ch;color:var(--muted);text-align:right;font-weight:700}.archive-matches .badge{margin-left:8px}.door-list{margin-bottom:12px}@media (width>=900px){.door-list{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}}.edition-list{gap:12px 32px;margin:12px 0 24px;display:grid}.edition-list p{margin:2px 0 0}@media (width>=900px){.edition-list{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}}.branch-records{margin:0 0 20px}.link-button{color:var(--link);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:default}.badge.outcome-won,.badge.outcome-drawn,.badge.outcome-lost{border-color:#0000}.badge.outcome-won{color:#fff;background:#1e7b3c}.badge.outcome-drawn{color:#1f1a00;background:#f2c230}.badge.outcome-lost{color:#fff;background:#b3261e}.archive-record{margin:12px 0 20px}.table-scroll{margin:12px 0;overflow-x:auto}.record-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;max-width:46rem}.record-table th,.record-table td{border-bottom:1px solid var(--border);text-align:right;white-space:nowrap;padding:8px 6px}.record-table th:first-child{text-align:left;white-space:normal}.record-table thead th{color:var(--muted);font-size:.85rem;font-weight:600}.record-table abbr{text-decoration:none}.history-search{max-width:24rem}.archive-video{aspect-ratio:4/3;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);justify-content:center;align-items:center;gap:8px;font-weight:700;display:flex}.attendance{margin:16px 0}.archive-item:target{outline:2px solid var(--accent-line);outline-offset:4px}.call-list .badges{margin:6px 0}.help-list{padding-left:20px}.meetup-inputs{border-bottom:1px dashed var(--border);gap:8px;padding:10px 0;display:grid}.meetups li{border-bottom:1px solid var(--border);padding:10px 0}.meetups p{margin:2px 0}.help-list li{margin:4px 0}.mural-timeline{gap:20px;margin:8px 0 24px;padding:0;list-style:none;display:grid}.mural-photo{margin:0}.mural-photo img{border-radius:var(--radius);background:var(--surface);width:100%;height:auto;display:block}.mural-photo figcaption{margin-top:6px;font-size:.9rem}.photo-picker{gap:12px;display:grid}.photo-previews{flex-wrap:wrap;gap:10px;margin:8px 0;padding:0;list-style:none;display:flex}.photo-previews li{justify-items:center;gap:6px;display:grid}.photo-previews img{object-fit:cover;background:var(--surface);border-radius:6px;width:140px;height:105px}.photo-add{cursor:pointer;justify-self:start}.photo-add:focus-within{outline:3px solid var(--focus);outline-offset:2px}.nearby-list{gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.nearby-list li{align-items:center;gap:10px;display:flex}.nearby-list li>span{flex:1}.nearby-list img{object-fit:cover;border-radius:6px;width:96px;height:72px}@media (width<=480px){.mural-item img,.mural-thumb-empty{width:88px;height:66px}}.song-meta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.song-details{gap:4px;margin-right:4px;display:inline-flex}.dot{border:2px solid var(--accent);border-radius:50%;width:10px;height:10px}.dot.filled{background:var(--accent)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .dot{border-color:var(--link)}:root:not([data-theme=light]) .dot.filled{background:var(--link)}}:root[data-theme=dark] .dot{border-color:var(--link)}:root[data-theme=dark] .dot.filled{background:var(--link)}.dot.faded{opacity:.3}.list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.list-header p{margin:0}.sort-select{align-items:center;gap:6px;font-size:.9rem;display:inline-flex}.sort-select select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);font:inherit;padding:4px 8px}.dots-legend{margin:8px 0 12px;font-size:.9rem}.dots-legend summary{cursor:pointer;color:var(--link)}.dots-legend ul{gap:6px;margin:8px 0;padding:0;list-style:none;display:grid}.dots-legend li{align-items:center;gap:8px;display:flex}.filters{border:1px solid var(--border);border-radius:var(--radius);margin:0 0 16px;padding:8px 12px}.filters summary{cursor:pointer;font-weight:600}.filters-body{gap:12px;margin-top:12px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.9rem}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.like{align-items:center;gap:6px;display:inline-flex}.like.liked span[aria-hidden=true]{color:var(--danger)}.like-count{font-variant-numeric:tabular-nums;border-left:1px solid var(--border);padding-left:6px}.proposal-title{margin-right:8px;font-weight:700}.proposal-list .song-first-line{margin:4px 0}.vote{margin-top:6px}.vote.voted span[aria-hidden=true]{color:var(--accent-fg)}.vote-count{color:var(--muted);font-weight:600}.recorder{justify-items:start;gap:8px;display:grid}.recorder audio,.proposal-audio audio{width:min(100%,420px)}.button.recording{background:var(--danger);border-color:var(--danger)}.proposal-audio{margin:16px 0}.song-ideas details{border:1px solid var(--border);border-radius:var(--radius);margin:16px 0 0;padding:8px 12px}.song-ideas summary{cursor:pointer;font-weight:600}.song-ideas h2{margin:16px 0 8px;font-size:1.1rem}.idea-list{gap:10px;margin:0 0 8px;padding:0;list-style:none;display:grid}.idea-list span{color:var(--muted)}@media (width>=900px){.compose{grid-template-columns:minmax(0,46rem) minmax(20rem,1fr);align-items:start;column-gap:40px;display:grid}.compose-main{grid-area:1/1}.compose .song-ideas{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-area:1/2;margin-top:16px;padding:4px 20px 12px}}.post-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));align-items:start;gap:16px;margin:12px 0 24px;padding:0;list-style:none;display:grid}.post-card{gap:6px;display:grid}.post-card-link{color:var(--fg);gap:6px;text-decoration:none;display:grid}.post-card-link img{object-fit:contain;border-radius:var(--radius);background:var(--surface);width:100%;height:auto;max-height:480px;display:block}.post-card-title{color:var(--link);font-weight:700}a.post-card-link:hover .post-card-title{text-decoration:underline}.post-card .fine-print{margin:0}.post-card-bar{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.post-card-author{margin:0 0 0 auto}.post-photo{margin:0 0 12px}.post-photo img{object-fit:contain;border-radius:var(--radius);background:var(--surface);width:100%;height:auto;max-height:80vh;display:block}.post-caption{white-space:pre-line}.post-preview{justify-items:start;gap:6px;display:grid}.post-preview img{background:var(--surface);border-radius:6px;max-width:100%;max-height:320px}.discussion{margin-top:28px}.discussion-count{font-size:.9rem;font-weight:400}.threads{margin:12px 0;padding:0;list-style:none}.thread{border-top:1px solid var(--border);padding:4px 0}.thread:target{box-shadow:inset 3px 0 0 var(--accent-line)}.thread-replies{border-left:2px solid var(--border);margin:0 0 4px 16px;padding:0 0 0 12px;list-style:none}.thread-more{margin:0 0 8px 32px}.reply-composer{margin:4px 0 12px 32px}.comment-hidden{margin:8px 4px;font-style:italic}.comment-time{color:var(--muted);text-decoration:none}.comment-time:hover{text-decoration:underline}.composer-bar .form-actions{margin:0}@media (width<=480px){.thread-replies{margin-left:6px;padding-left:8px}.thread-more,.reply-composer{margin-left:14px}}@media (width<=640px){.app-header .app-nav{scrollbar-width:none;flex-wrap:nowrap;padding:4px 0 8px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.app-header .app-nav::-webkit-scrollbar{display:none}.app-nav a,.nav-placeholder{white-space:nowrap;flex:none}}.hero{margin-bottom:8px}.home-search{gap:8px;max-width:560px;margin-top:16px;display:flex;position:relative}.home-search input{border:1px solid var(--border);background:var(--bg);min-width:0;color:var(--fg);font:inherit;border-radius:999px;flex:1;padding:10px 16px}.search-popup{z-index:5;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);gap:4px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 8px 24px #0000002e}.search-popup>p{margin:6px 8px}.search-suggestions{display:grid}.search-suggestions button{border-radius:calc(var(--radius) - 2px);min-width:0;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:6px 10px;display:grid}.search-suggestions button:hover,.search-suggestions button[aria-selected=true]{background:var(--bg)}.search-more{padding:6px 10px;font-size:.95rem}.home-columns{gap:0 32px;display:grid}@media (width>=860px){.home-columns{grid-template-columns:1fr 1fr}}.ticket-links{flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;font-size:.95rem;display:flex}.ticket-links:empty{display:none}.results>li{align-items:center;gap:12px;display:flex}.result-date{min-width:4.5em;color:var(--muted);font-size:.9rem}.result-score{font-variant-numeric:tabular-nums}.news a{font-weight:600}.chips{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.chips a{border:1px solid var(--border);color:var(--fg);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.chips a[aria-current=page]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.chip-count{opacity:.75;font-size:.8rem}.room-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.room-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--fg);gap:2px;padding:12px 16px;text-decoration:none;display:grid}.room-card:hover{border-color:var(--fg)}.room-card.live{border-width:2px;border-color:var(--accent-line)}.room-name{flex-wrap:wrap;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.admin-list>li{flex-wrap:wrap;align-items:flex-start;gap:8px 16px;display:flex}.admin-list>li>:first-child{flex:280px}.row-actions{gap:6px;display:flex}.admin-subrow{border-top:1px dashed var(--border);flex:1 0 100%;padding:12px 0 0}.install-steps li+li{margin-top:8px}.update-banner{inset-inline:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:20;border:1px solid var(--border);border-left:4px solid var(--accent-line);border-radius:var(--radius);background:var(--surface);max-width:26rem;color:var(--fg);justify-content:space-between;align-items:center;gap:12px;margin-inline:auto;padding:10px 10px 10px 16px;display:flex;position:fixed;box-shadow:0 6px 20px #0000002e}.sort-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.record-table th[aria-sort]{color:var(--text)}.sort-arrow{margin-left:2px;font-size:.7em}@media (width<=479px){.record-table{font-size:.9rem}.record-table th,.record-table td{padding:8px 3px}}@media (width<=379px){.record-table th,.record-table td{padding:8px 2px}}
