.raid-page { min-height: calc(100vh - 82px); background: #06152f url('../assets/raids%20logo.png') center/cover no-repeat; }
.raids-page { min-height: 100vh; background: #071522 url('../assets/raid%20background.avif') center/cover fixed; }
.raids-page .site-header, .dungeon-page .site-header { grid-template-columns: auto minmax(0, 1fr) auto; }
.raids-page .header-actions, .dungeon-page .header-actions { min-width: 0; }
.raids-page .official-site-button, .dungeon-page .official-site-button { white-space: nowrap; }
.raids-directory { min-height: calc(100vh - 76px); }
.raids-hero { display: flex; align-items: end; justify-content: space-between; gap: 30px; min-height: 390px; padding: 84px 10vw 54px; background: transparent; }
.raids-kicker { margin: 0; color: #ff7864; font: 800 10px var(--body); letter-spacing: 1.5px; text-transform: uppercase; }
.raids-hero h1 { margin: 18px 0; color: #fff; font-size: clamp(60px, 8vw, 112px); line-height: .8; }
.raids-hero p:last-child { max-width: 470px; margin: 0; color: #d4e9f7; font-size: 14px; line-height: 1.75; }
.raid-manage-button { padding: 11px 15px; border: 1px solid #6dccff; background: rgba(7,27,60,.78); color: #fff; font: 800 10px var(--body); letter-spacing: .7px; text-transform: uppercase; }
.raid-manage-button:hover { background: #1769ff; }
.raids-library { position: relative; min-height: calc(100vh - 76px); padding: 76px 10vw 110px; background: transparent; }
.raid-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 28px; max-width: 860px; margin: 0 auto; }
.raid-card { overflow: hidden; border: 1px solid rgba(124,190,232,.7); background: #071522; box-shadow: 0 0 0 1px rgba(109,204,255,.15), 0 18px 42px rgba(0,0,0,.42), 0 0 22px rgba(23,105,255,.28); animation: raidCardFloat 4.5s ease-in-out infinite; transition: border-color .25s ease, box-shadow .25s ease, filter .25s ease; }
.raid-card:nth-child(2n) { animation-delay: -2.25s; }
.raid-card:hover { border-color: #fff; filter: brightness(1.16); box-shadow: 0 0 0 2px rgba(109,204,255,.65), 0 26px 54px rgba(0,0,0,.5), 0 0 34px rgba(109,204,255,.76); animation-play-state: paused; }
.raid-card-link { position: relative; display: block; height: min(66vh, 660px); min-height: 500px; overflow: hidden; color: #fff; text-decoration: none; }
.raid-card-link img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease, filter .35s ease; }
.raid-card:hover .raid-card-link img { transform: scale(1.06); filter: brightness(1.12) saturate(1.1); }
.raid-card-kicker { position: absolute; z-index: 1; top: 20px; left: 50%; padding: 6px 10px; border: 1px solid rgba(255,255,255,.62); background: rgba(3,15,27,.28); color: #fff; font: 800 9px var(--body); letter-spacing: 1.3px; text-transform: uppercase; transform: translateX(-50%); backdrop-filter: blur(4px); }
.raid-card-title { position: absolute; right: 24px; bottom: 22px; left: 24px; text-align: center; }
.raid-card-title h2 { margin: 0; color: #fff; font-size: clamp(36px, 4vw, 52px); line-height: .88; text-shadow: 0 3px 10px rgba(0,0,0,.85); }
.raid-card-requirements { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 12px 16px; background: rgba(255,255,255,.9); color: #17202b; font: 800 9px var(--body); letter-spacing: .6px; text-transform: uppercase; }
.raid-card-requirements span + span { padding-left: 12px; border-left: 1px solid rgba(124,190,232,.35); }.raid-edit-button { margin-left: auto; padding: 6px 8px; border: 1px solid #6dccff; background: transparent; color: #d9f3ff; font: 800 9px var(--body); letter-spacing: .6px; text-transform: uppercase; }.raids-library > .raid-manage-button { position: absolute; top: 22px; right: 10vw; }
@keyframes raidCardFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-11px); } }
.raid-editor { position: fixed; inset: 0 0 0 auto; z-index: 30; width: min(540px, 100%); padding: 78px 30px 34px; overflow-y: auto; background: #f7f8f6; box-shadow: -18px 0 50px rgba(0,0,0,.32); transform: translateX(100%); transition: transform .25s ease; }
.raid-editor.open { transform: translateX(0); }
.raid-editor .panel-close { top: 24px; right: 26px; }.raid-editor h2 { margin: 8px 0 26px; font-size: 48px; line-height: .9; }
.raid-editor form { display: grid; gap: 14px; }.raid-editor label { display: grid; gap: 6px; color: #4d5f73; font: 800 9px var(--body); letter-spacing: .7px; text-transform: uppercase; }
.raid-editor input { width: 100%; height: 38px; padding: 0 10px; border: 1px solid #b9c9d5; background: #fff; color: #17202b; font: 13px var(--body); }.raid-image-upload { color: #1769ff !important; cursor: pointer; }.raid-image-upload input { width: auto; height: auto; padding: 0; border: 0; }.raid-editor #raidUploadStatus, .raid-editor #raidEditorMessage { min-height: 15px; color: #68727e; font-size: 10px; }.raid-requirements { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.raid-editor-actions { display: flex; gap: 10px; }.raid-delete-button { padding: 12px 14px; border: 1px solid #e63946; background: #fff; color: #e63946; font: 800 10px var(--body); letter-spacing: .7px; text-transform: uppercase; }.raid-delete-button:hover { background: #e63946; color: #fff; }
.dungeon-page { min-height: calc(100vh - 76px); background: #eaf0f3; }
.dungeon-hero { display: flex; align-items: end; justify-content: space-between; gap: 48px; min-height: 430px; padding: 82px 10vw 56px; color: #fff; background: linear-gradient(90deg, rgba(3,15,27,.93), rgba(3,15,27,.4)), var(--dungeon-art, url('../assets/raids%20logo.png')) center/cover; }
.dungeon-kicker, .dungeon-section-label { margin: 0; color: #ff7864; font: 800 10px var(--body); letter-spacing: 1.4px; text-transform: uppercase; }
.dungeon-hero h1 { margin: 18px 0; font-size: clamp(58px, 8vw, 110px); line-height: .8; }
.dungeon-hero p:last-child { max-width: 520px; color: #d4e9f7; font-size: 14px; line-height: 1.7; }
.dungeon-difficulty { min-width: 180px; padding: 20px; border-left: 3px solid #ff7864; background: rgba(3,15,27,.78); }
.dungeon-difficulty span, .dungeon-difficulty small { display: block; color: #a9c7db; font-size: 10px; text-transform: uppercase; }
.dungeon-difficulty strong { display: block; margin: 8px 0; font: 800 48px var(--display); }
.dungeon-prep { display: grid; grid-template-columns: repeat(4, 1fr); padding: 0 10vw; background: #071522; }
.dungeon-prep div { padding: 20px; border-right: 1px solid rgba(124,190,232,.24); }
.dungeon-prep span { display: block; color: #6dccff; font-size: 9px; letter-spacing: .8px; text-transform: uppercase; }
.dungeon-prep strong { display: block; margin-top: 7px; color: #fff; font: 700 19px var(--display); text-transform: uppercase; }
.dungeon-phase-nav { display: flex; gap: 25px; padding: 18px 10vw; border-bottom: 1px solid #c7d2da; background: #fff; }
.dungeon-phase-nav a, .dungeon-toc a { color: #1769ff; font: 800 10px var(--body); letter-spacing: .6px; text-decoration: none; text-transform: uppercase; }
.dungeon-content { display: grid; grid-template-columns: minmax(0, 760px) 180px; justify-content: center; gap: 56px; padding: 68px 10vw 110px; }
.dungeon-section { padding-bottom: 54px; margin-bottom: 54px; border-bottom: 1px solid #c7d2da; }
.dungeon-section h2 { margin: 18px 0; color: #17202b; font-size: clamp(42px, 5vw, 66px); line-height: .86; }
.dungeon-section > p { color: #68727e; font-size: 15px; line-height: 1.8; }
.dungeon-callout { margin-top: 28px; padding: 16px 18px; border-left: 4px solid #45c789; background: #e8f8ef; }
.dungeon-callout strong, .mechanic-warning, .mechanic-info { color: #1769ff; font: 800 10px var(--body); letter-spacing: .7px; text-transform: uppercase; }
.dungeon-callout p { margin: 8px 0 0; color: #4d5f73; font-size: 13px; line-height: 1.6; }
.dungeon-mechanic { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 26px; }
.dungeon-mechanic h3 { margin: 10px 0; color: #17202b; font: 700 30px var(--display); text-transform: uppercase; }
.dungeon-mechanic p { color: #68727e; font-size: 13px; line-height: 1.7; }
.mechanic-warning { color: #d93025; }.mechanic-info { color: #1769ff; }
.dungeon-visual { display: grid; min-height: 190px; padding: 25px; place-items: center; border: 1px dashed #9cb2c2; background: #fff; color: #68727e; font-size: 12px; line-height: 1.6; text-align: center; }
.dungeon-toc { position: sticky; top: 105px; align-self: start; display: grid; gap: 12px; padding-left: 18px; border-left: 1px solid #b9c9d5; }
.dungeon-toc span { margin-bottom: 4px; color: #68727e; font: 800 10px var(--body); letter-spacing: .7px; text-transform: uppercase; }
@media (max-width: 760px) { .raids-hero { display: block; min-height: 0; padding: 62px 8vw; }.raid-manage-button { margin-top: 28px; }.raids-library { padding: 52px 8vw 80px; }.raids-library-head { display: block; }.raids-library-head > p:last-child { margin-top: 12px; }.raid-card-grid { grid-template-columns: 1fr; }.raid-card-link { height: 560px; min-height: 0; }.dungeon-hero { display: block; min-height: 0; padding: 60px 8vw; } .dungeon-difficulty { margin-top: 30px; } .dungeon-prep { grid-template-columns: repeat(2, 1fr); padding: 0; } .dungeon-phase-nav { overflow-x: auto; padding: 16px 8vw; white-space: nowrap; } .dungeon-content { display: block; padding: 50px 8vw 80px; } .dungeon-toc { display: none; } .dungeon-mechanic { grid-template-columns: 1fr; } }
.raid-hero { padding: 105px 10vw 115px; border-bottom: 1px solid var(--line); background: #eef3f5; }
.raid-hero h1 { margin: 0 0 24px; font-size: clamp(70px, 10vw, 140px); line-height: .83; }
.raid-hero > p:last-child { max-width: 350px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.raid-library { padding: 100px 10vw 130px; }
.raid-library > .section-label { margin-bottom: 55px; }
.raid-library .raid-content { margin-top: 0; }
.raid-login-backdrop { position: fixed; inset: 0; z-index: 7; background: rgba(18,29,42,.24); opacity: 0; pointer-events: none; transition: opacity .3s; }
.raid-login-backdrop.open { opacity: 1; pointer-events: auto; }
.raid-admin-panel { position: fixed; inset: 0 0 0 auto; z-index: 8; width: min(480px, 100%); padding: 110px 58px 50px; overflow-y: auto; background: var(--paper); transform: translateX(100%); transition: transform .35s ease; box-shadow: -15px 0 40px rgba(18,29,42,.1); }
.raid-admin-panel.open { transform: translateX(0); }
.raid-admin-panel h2 { margin: 0 0 18px; font-size: 64px; line-height: .9; }
@media (max-width: 760px) { .raid-hero, .raid-library { padding: 70px 8vw; } .raid-admin-panel { padding: 95px 35px 40px; } }
