.home-community-section {
  height: auto;
  min-height: 100vh;
  padding: calc(var(--nav-height) + 48px) 0 72px;
}

.home-community-section > .container { width: min(1120px, 92%); }
.home-lore-visual { display:grid; align-content:start; min-width:0; gap:11px; }
.home-lore-preview { position:relative; display:flex; flex-direction:column; min-width:0; min-height:310px; padding:18px; overflow:hidden; border:1px solid rgba(145,160,194,.2); border-radius:17px; background:radial-gradient(ellipse at 95% 0%,rgba(73,110,170,.14),transparent 42%),linear-gradient(145deg,#111722,#0c1018); }
.home-lore-preview-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding-bottom:14px; border-bottom:1px solid rgba(255,255,255,.08); }
.home-lore-preview-heading > div { display:grid; gap:4px; min-width:0; }
.home-lore-preview-heading span { color:#91a3c4; font-size:.62rem; font-weight:800; letter-spacing:.13em; }
.home-lore-preview-heading strong { display:block; color:#f1f4fc; font-size:.97rem; }
.home-lore-preview-heading > i { display:grid; flex:0 0 38px; width:38px; height:38px; place-items:center; color:#c5adff; border:1px solid rgba(167,139,250,.28); border-radius:12px; background:rgba(139,92,246,.12); }
.home-lore-preview-list { position:relative; display:grid; align-content:start; gap:9px; min-width:0; margin:13px 0; }
.home-lore-preview-list::before { display:none; }
.home-lore-preview-entry { position:relative; z-index:1; display:grid; gap:7px; min-width:0; padding:12px 14px; color:#f2f4fb !important; text-decoration:none !important; border:1px solid rgba(168,148,205,.17); border-radius:13px; background:linear-gradient(120deg,rgba(32,26,43,.96),rgba(20,19,30,.96)); box-shadow:0 7px 18px rgba(0,0,0,.12); transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.home-lore-preview-entry::before { position:absolute; top:15px; right:13px; width:8px; height:8px; content:''; border:2px solid #a995e8; border-radius:50%; background:#171321; box-shadow:0 0 10px rgba(167,139,250,.2); }
.home-lore-preview-entry:hover,.home-lore-preview-entry:focus-visible { transform:translateY(-1px); color:#fff !important; border-color:rgba(167,139,250,.48); background:linear-gradient(120deg,rgba(45,34,60,.98),rgba(25,22,38,.98)); outline:none; }
.home-lore-preview-entry > span { display:block; width:max-content; max-width:calc(100% - 20px); padding:4px 7px; color:#c8b6ef; border:1px solid rgba(180,154,229,.15); border-radius:999px; background:rgba(139,92,246,.09); font-size:.58rem; font-weight:800; letter-spacing:.08em; line-height:1.35; }
.home-lore-preview-entry > strong { display:block; min-width:0; overflow:hidden; color:#f5f6fb; font-size:.9rem; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.home-lore-preview-entry > p { display:-webkit-box; margin:0; overflow:hidden; color:#aeb7c8; font-size:.72rem; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.home-lore-preview-entry.is-type-person::before { border-color:#e59bac; }
.home-lore-preview-entry.is-type-place::before { border-color:#79d2bc; }
.home-lore-preview-entry.is-type-object::before { border-color:#e6bb71; }
.home-lore-preview-entry.is-type-record::before { border-color:#a995e8; }
.home-lore-preview-empty { display:grid; min-height:150px; margin:0; place-items:center; color:#aeb7c8; font-size:.82rem; text-align:center; }
.home-lore-preview-foot { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:11px; color:#aab5c7; border-top:1px solid rgba(255,255,255,.08); font-size:.7rem; line-height:1.45; }
.home-lore-preview-foot i { flex:0 0 auto; color:#d5b675; }
.home-lore-open { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:46px; padding:13px 15px; color:#eee8ff; font-weight:700; font-size:.82rem; text-decoration:none; background:rgba(139,92,246,.12); border:1px solid rgba(167,139,250,.28); border-radius:12px; }
.home-lore-open i { color:#c4b5fd; transition:transform .2s ease; }
.home-lore-open:hover i { transform:translateX(4px); }
.home-community-heading { margin-bottom: 24px; }
.home-community-heading .section-subtitle { margin-top: 7px; }
.home-community-grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr) minmax(220px, 1fr); gap: 18px; }
.home-community-panel, .home-admin-panel {
  min-width: 0;
  border: 1px solid rgba(174, 136, 255, .2);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(24, 19, 37, .9), rgba(12, 10, 20, .86));
  box-shadow: 0 18px 55px rgba(0, 0, 0, .16);
}
.home-community-panel { padding: 23px; }
.home-score-panel { display:flex; flex-direction:column; }
.home-score-panel .home-panel-heading { margin-bottom:12px; }
.home-score-status { min-height:1.4em; margin:0 0 10px; color:#aeb4c5; font-size:.76rem; line-height:1.45; }
.home-score-list { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.home-score-list li { display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:5px 9px; min-width:0; padding:9px 10px; border:1px solid rgba(255,255,255,.075); border-radius:12px; background:rgba(255,255,255,.028); }
.home-score-list li.is-place-1 { border-color:rgba(236,198,119,.27); background:linear-gradient(100deg,rgba(174,124,47,.12),rgba(255,255,255,.025)); }
.home-score-list li.is-place-2 { border-color:rgba(188,197,219,.2); }
.home-score-list li.is-place-3 { border-color:rgba(196,145,111,.2); }
.home-score-rank { grid-row:1 / span 2; display:grid; width:27px; height:27px; place-items:center; color:#cfb8ff; border:1px solid rgba(174,136,255,.2); border-radius:9px; background:rgba(139,92,246,.1); font-size:.68rem; font-weight:800; font-variant-numeric:tabular-nums; }
.is-place-1 .home-score-rank { color:#ffe2a0; border-color:rgba(236,198,119,.24); background:rgba(174,124,47,.15); }
.home-score-player { min-width:0; overflow:hidden; color:#e9e2f4; font-size:.78rem; font-weight:650; text-overflow:ellipsis; white-space:nowrap; }
.home-score-points { color:#fff; font-size:.8rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.home-score-lines { grid-column:2 / 4; color:#9ca4b6; font-size:.65rem; }
.home-panel-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.home-panel-heading h3 { font-size: 1.12rem; line-height: 1.3; }
.home-panel-heading p { margin-top: 4px; color: var(--text-muted); font-size: .86rem; }
.home-panel-icon { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; color: #c4a8ff; border: 1px solid rgba(158, 112, 255, .32); border-radius: 14px; background: rgba(111, 63, 201, .16); }
.home-social-links { display: flex; flex-wrap: wrap; gap: 10px; }
.home-social-link { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 9px 13px; border: 1px solid rgba(174, 136, 255, .22); border-radius: 12px; background: rgba(255, 255, 255, .035); color: #ded2ff; text-decoration: none; font-size: .9rem; transition: background .18s ease, border-color .18s ease, transform .18s ease; }
.home-social-link:hover { transform: translateY(-2px); border-color: rgba(174, 136, 255, .58); background: rgba(139, 92, 246, .13); }
.home-social-link i { width: 1.1em; color: #b99aff; text-align: center; font-size: 1.08rem; }
.home-monitorings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.home-monitor-card { min-width: 0; padding: 15px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 14px; background: rgba(255, 255, 255, .025); }
.home-monitor-card.is-linked { transition: border-color .18s ease, background .18s ease; }
.home-monitor-card.is-linked:hover { border-color: rgba(174, 136, 255, .38); background: rgba(139, 92, 246, .07); }
.home-monitor-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.home-monitor-title { overflow-wrap: anywhere; font-size: .94rem; line-height: 1.35; }
.home-monitor-badge { flex: 0 0 auto; padding: 3px 8px; border-radius: 999px; background: rgba(139, 92, 246, .15); color: #cbb7ff; font-size: .69rem; line-height: 1.4; }
.home-monitor-description { margin-top: 8px; color: var(--text-muted); font-size: .82rem; line-height: 1.5; overflow-wrap: anywhere; }
.home-monitor-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; color: #cbb7ff; text-decoration: none; font-size: .8rem; }
.home-monitor-link:hover { color: #fff; }
.home-empty-state { grid-column: 1 / -1; padding: 13px 15px; color: var(--text-muted); border: 1px dashed rgba(174, 136, 255, .2); border-radius: 12px; font-size: .86rem; }
.home-admin-panel { margin-top: 18px; padding: 20px; }
.home-admin-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.home-admin-heading h3 { margin-top: 8px; font-size: 1.1rem; }
.home-admin-heading p { min-height: 1.2em; margin-top: 3px; color: var(--text-muted); font-size: .8rem; }
.home-admin-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.home-admin-panel .btn-primary, .home-admin-panel .btn-secondary, .home-community-heading .btn-secondary { min-height: 42px; padding: 9px 14px; font: inherit; font-size: .86rem; cursor: pointer; }
.home-editor { display: grid; gap: 16px; margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .09); }
.home-editor-group { min-width: 0; padding: 16px; border: 1px solid rgba(255, 255, 255, .09); border-radius: 14px; }
.home-editor-group legend { padding: 0 7px; color: #eee8ff; font-size: .92rem; font-weight: 700; }
.home-editor-hint { margin: -3px 0 13px; color: var(--text-muted); font-size: .78rem; }
.home-social-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.home-social-fields label, .home-monitor-editor-card label, #home-login-form label { display: grid; min-width: 0; gap: 6px; color: #e6e2ef; font-size: .82rem; font-weight: 650; }
.home-editor input, .home-auth-dialog input { width: 100%; min-width: 0; min-height: 42px; padding: 9px 11px; color: var(--text-main); border: 1px solid rgba(255, 255, 255, .14); border-radius: 10px; outline: none; background: rgba(5, 4, 10, .48); font: inherit; font-size: .86rem; }
.home-editor input:focus, .home-auth-dialog input:focus { border-color: #9c70ff; box-shadow: 0 0 0 3px rgba(139, 92, 246, .16); }
.home-monitor-editor-list { display: grid; gap: 11px; margin-bottom: 12px; }
.home-monitor-editor-card { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding: 13px; border: 1px solid rgba(255, 255, 255, .08); border-radius: 12px; background: rgba(255, 255, 255, .025); }
.home-monitor-editor-card .home-monitor-editor-wide { grid-column: 1 / -1; }
.home-monitor-editor-title { display: flex; align-items: center; justify-content: space-between; grid-column: 1 / -1; color: #d9cbff; font-size: .84rem; font-weight: 700; }
.home-monitor-remove { padding: 5px 9px; color: #efb2bd; border: 1px solid rgba(237, 112, 138, .2); border-radius: 9px; background: rgba(237, 112, 138, .07); cursor: pointer; font: inherit; font-size: .75rem; }
.home-editor-footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
#home-save-status { min-height: 1.4em; color: #b6a6dc; font-size: .84rem; overflow-wrap: anywhere; }
#home-save-status.is-error { color: #ff9da8; }
.home-auth-modal[hidden], .home-admin-panel[hidden], .home-editor[hidden] { display: none !important; }
.home-auth-modal { position: fixed; z-index: 1000; inset: 0; display: grid; place-items: center; padding: 20px; }
.home-auth-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(4, 3, 8, .78); backdrop-filter: blur(8px); cursor: pointer; }
.home-auth-dialog { position: relative; width: min(100%, 430px); padding: 28px; border: 1px solid rgba(174, 136, 255, .34); border-radius: 20px; background: #100d19; box-shadow: 0 25px 90px rgba(0, 0, 0, .6); }
.home-auth-dialog h2 { margin-top: 15px; font-size: 1.4rem; }
.home-auth-dialog > p { margin-top: 7px; color: var(--text-muted); font-size: .9rem; }
.home-auth-close { position: absolute; top: 13px; right: 13px; width: 34px; height: 34px; color: #eee; border: 1px solid var(--border-color); border-radius: 10px; background: rgba(255, 255, 255, .05); font-size: 1.25rem; cursor: pointer; }
#home-login-form { display: grid; gap: 13px; margin-top: 20px; }
#home-login-form .btn-primary { min-height: 44px; padding: 10px 14px; font: inherit; font-weight: 700; cursor: pointer; }
.home-auth-message { min-height: 1.3em; color: #ff9da8; font-size: .83rem; }
.home-admin-setup-link { display: inline-block; margin-top: 9px; color: #cbb7ff; font-size: .82rem; text-decoration: none; }
.home-admin-setup-link:hover { color: #fff; }
body.home-auth-open { overflow: hidden; }

@media (max-width: 760px) {
  .home-community-section { min-height: auto; padding: calc(var(--nav-height) + 34px) 0 48px; }
  .home-community-grid { grid-template-columns: 1fr; }
  .home-community-panel { padding: 19px; }
  .home-admin-heading { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 520px) {
  .home-community-heading { align-items: flex-start; }
  .home-community-heading .btn-secondary { width: auto; }
  .home-monitorings, .home-social-fields, .home-monitor-editor-card { grid-template-columns: 1fr; }
  .home-monitor-editor-card .home-monitor-editor-wide, .home-monitor-editor-title { grid-column: 1; }
  .home-editor-group { padding: 13px; }
  .home-editor-footer { align-items: flex-start; flex-direction: column; }
  .home-editor-footer .btn-primary { width: 100%; }
  .home-auth-dialog { padding: 23px 19px; }
}
