:root {
  --black:#07090d; --night:#0f131b; --steel:#1b2532; --white:#f6f7fa;
  --red:#e22834; --blue:#216fc9; --yellow:#ffcf26; --muted:#a1a9b7;
  --line:rgba(255,255,255,.13); --display:'Russo One',sans-serif; --body:Rajdhani,Arial,sans-serif; --mono:'DM Mono',monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--white); font-family:var(--body); font-size:18px; }
body::selection { background:var(--yellow); color:#121212; }
a { color:inherit; text-decoration:none; }
button,input,textarea { font:inherit; }
.topbar { height:86px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,6vw,110px); position:sticky; top:0; z-index:20; background:rgba(7,9,13,.94); border-bottom:1px solid rgba(255,255,255,.08); backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; min-width:146px; }
.brand-logo { display:block; width:142px; height:65px; }
.brand-logo img { width:100%; height:100%; display:block; object-fit:contain; }
.brand-copy { display:none; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border:1px solid rgba(255,255,255,.3); color:var(--white); font:700 .7rem var(--display); }
.topbar nav { display:flex; align-items:center; gap:clamp(18px,3vw,43px); }
.topbar nav a { color:#d7dce4; text-transform:uppercase; font-weight:700; font-size:.74rem; letter-spacing:.11em; transition:color .2s; }
.topbar nav a:hover { color:var(--yellow); }
.nav-cta,.button { position:relative; overflow:hidden; isolation:isolate; text-transform:uppercase; font-weight:700; letter-spacing:.08em; font-size:.72rem; }
.nav-cta { padding:12px 16px; border:1px solid var(--red); background:rgba(226,40,52,.15); transition:transform .2s,background .2s; }
.nav-cta:before,.button-primary:before { content:''; position:absolute; z-index:-1; inset:0; background:var(--red); transform:skewX(-13deg) scaleX(0); transform-origin:left; transition:transform .25s; }
.nav-cta:hover:before,.button-primary:hover:before { transform:skewX(-13deg) scaleX(1.2); }.nav-cta:hover { transform:translateY(-2px); }.nav-cta span { color:var(--yellow); margin-left:7px; }
.hero { min-height:630px; padding:clamp(72px,10vw,142px) clamp(20px,8vw,135px); position:relative; overflow:hidden; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:55px; background:linear-gradient(90deg,rgba(5,7,11,.98) 3%,rgba(6,9,14,.86) 47%,rgba(7,9,13,.32)),url('assets/ambulancia-nocturna.png') center/cover no-repeat; }
.hero:before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(104deg,transparent 0 130px,rgba(255,255,255,.025) 131px 132px); pointer-events:none; }.hero:after { content:''; position:absolute; width:55vw; height:7px; left:-5vw; bottom:0; background:linear-gradient(90deg,var(--red) 0 65%,var(--yellow) 65% 82%,var(--blue) 82%); transform:skewX(-28deg); }
.hero-copy { position:relative; z-index:1; max-width:680px; }.eyebrow { margin:0 0 19px; color:var(--yellow); font:500 .65rem var(--mono); letter-spacing:.2em; text-transform:uppercase; }.eyebrow span { display:inline-block; width:28px; height:2px; margin-right:9px; vertical-align:middle; background:currentColor; }
.hero h1,h2 { margin:0; text-transform:uppercase; font-family:var(--display); letter-spacing:.01em; line-height:.94; }.hero h1 { font-size:clamp(3.3rem,7vw,7.4rem); text-shadow:6px 7px 0 rgba(0,0,0,.35); }.hero h1 em,.community-copy h2 em { display:block; font-family:var(--display); font-style:normal; color:var(--yellow); -webkit-text-stroke:1px rgba(0,0,0,.1); }.lead { max-width:530px; margin:27px 0 34px; color:#e0e4e8; line-height:1.45; font-size:1.06rem; }
.hero-actions { display:flex; gap:15px; flex-wrap:wrap; }.button { display:inline-flex; align-items:center; gap:16px; min-height:49px; padding:0 22px; border:1px solid transparent; cursor:pointer; transition:transform .2s,color .2s; }.button:hover { transform:translateY(-3px); }.button-primary { background:var(--red); color:white; border-color:var(--red); }.button-primary span { color:var(--yellow); font-size:1.1rem; }.button-quiet { color:white; border-color:rgba(255,255,255,.45); background:rgba(5,7,11,.35); }.button-quiet:hover { border-color:var(--yellow); color:var(--yellow); }
.hero-panel { min-height:315px; position:relative; z-index:1; overflow:hidden; border:1px solid rgba(255,255,255,.27); background:linear-gradient(145deg,rgba(33,111,201,.75),rgba(8,17,31,.8)); box-shadow:16px 18px 0 rgba(226,40,52,.72); }.hero-panel:before { content:''; position:absolute; inset:10px; border:1px solid rgba(255,255,255,.22); }.panel-grid { position:absolute; inset:0; background:linear-gradient(130deg,transparent 42%,rgba(255,207,38,.17) 42% 45%,transparent 45%); }.hero-symbol { position:absolute; top:-28px; right:-5px; font:800 11rem var(--display); color:rgba(255,255,255,.1); }.hero-logo { position:absolute; inset:0; padding:35px; display:grid; place-items:center; z-index:2; }.hero-logo img { max-width:100%; max-height:100%; object-fit:contain; filter:drop-shadow(0 12px 14px rgba(0,0,0,.35)); }
.section-shell { padding:clamp(78px,9vw,132px) clamp(20px,8vw,135px); position:relative; }.info-section { background:#f5f5f5; color:#11141b; display:grid; grid-template-columns:.85fr 1.55fr; gap:80px; }.info-section:before { content:'IBERICA'; position:absolute; right:3vw; top:30px; color:rgba(13,16,22,.04); font:clamp(5rem,16vw,15rem) var(--display); letter-spacing:-.06em; pointer-events:none; }.section-intro,.info-grid { position:relative; z-index:1; }.info-section .eyebrow { color:var(--red); }.section-intro h2 { font-size:clamp(2.6rem,4.5vw,5rem); }.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:19px; }.info-grid article { padding:24px 18px 26px; background:white; border-bottom:4px solid var(--red); box-shadow:0 11px 22px rgba(0,0,0,.08); transition:transform .2s; }.info-grid article:nth-child(2) { border-color:var(--yellow); }.info-grid article:nth-child(3) { border-color:var(--blue); }.info-grid article:hover { transform:translateY(-6px); }.index { font:500 .7rem var(--mono); color:var(--red); }.info-grid h3 { margin:38px 0 11px; font:1.15rem var(--display); text-transform:uppercase; }.info-grid p { margin:0; color:#575e69; line-height:1.42; font-size:.9rem; }
.album-section { background:var(--night); }.album-section:before { content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(105deg,transparent 0 64%,rgba(33,111,201,.12) 64% 66%,transparent 66%); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:25px; position:relative; z-index:1; }.section-heading h2 { font-size:clamp(2.5rem,4.5vw,5rem); }.section-note { position:relative; z-index:1; margin:16px 0 35px; color:#aeb6c2; font-size:.95rem; }.photo-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); grid-auto-flow:dense; gap:14px; }.photo-card { min-height:315px; position:relative; overflow:hidden; background:var(--steel); border:1px solid rgba(255,255,255,.14); color:white; }.photo-card.wide { grid-column:span 2; }.photo-card img { width:100%; height:100%; min-height:315px; object-fit:cover; display:block; filter:saturate(1.05); transition:transform .5s,filter .4s; }.photo-card:after { content:''; position:absolute; inset:35% 0 0; background:linear-gradient(transparent,rgba(3,5,9,.92)); }.photo-card:hover img { transform:scale(1.05); filter:saturate(1.3); }.photo-card div { position:absolute; z-index:1; bottom:0; left:0; padding:22px; }.photo-card span { color:var(--yellow); font:500 .58rem var(--mono); text-transform:uppercase; letter-spacing:.12em; }.photo-card h3 { margin:8px 0 0; text-transform:uppercase; font:1.14rem var(--display); letter-spacing:.03em; }.empty-album { position:relative; z-index:1; color:#aeb6c2; }
.community-section { background:linear-gradient(122deg,#0d1119 0 62%,#151b27 62%); display:grid; grid-template-columns:.75fr 1.25fr; gap:76px; }.community-section:before { content:''; position:absolute; width:43%; height:100%; right:0; top:0; background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 11px); }.community-copy,.chat-frame { position:relative; z-index:1; }.community-copy { align-self:center; }.community-copy h2 { font-size:clamp(2.7rem,4.4vw,4.8rem); }.community-copy p:not(.eyebrow) { color:#c1c8d4; line-height:1.48; margin:26px 0; max-width:370px; }.discord-link { color:var(--yellow); display:inline-block; padding:8px 0; border-bottom:2px solid var(--red); font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }.discord-link span { margin-left:8px; }.active-users { margin-top:26px; color:#b8c3d1; font:500 .72rem var(--mono); }.active-users i,.chat-header i { display:inline-block; width:8px; height:8px; margin-right:7px; border-radius:50%; background:#72e4a0; box-shadow:0 0 0 5px rgba(114,228,160,.11); }.active-users strong { color:white; }
.chat-frame { border:1px solid rgba(255,255,255,.25); background:#090d14; box-shadow:11px 12px 0 var(--red); }.chat-header { padding:17px 19px; display:flex; justify-content:space-between; border-bottom:1px solid var(--line); background:linear-gradient(90deg,rgba(226,40,52,.25),transparent); text-transform:uppercase; letter-spacing:.14em; font:500 .66rem var(--mono); }.chat-header small { color:var(--yellow); }.chat-messages { height:300px; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:15px; }.chat-loading { margin:auto; color:#9ca7b7; }.message { border-left:2px solid var(--red); padding-left:11px; }.message:nth-child(3n+2) { border-color:var(--yellow); }.message:nth-child(3n+3) { border-color:var(--blue); }.message-meta { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }.message-name { color:white; font-weight:700; font-size:.86rem; }.message-time { color:#8793a4; font:.57rem var(--mono); }.member-role { padding:3px 6px; border:1px solid rgba(255,207,38,.65); color:var(--yellow); font:.52rem var(--mono); letter-spacing:.1em; }.message p { margin:5px 0 0; color:#d4dae4; line-height:1.4; font-size:.88rem; white-space:pre-wrap; overflow-wrap:anywhere; }.chat-form { padding:16px 18px; border-top:1px solid var(--line); background:#0e131d; }.chat-form label,.upload-fields label,.upload-dialog form>label { display:block; color:#aeb8c6; font:.59rem var(--mono); letter-spacing:.1em; text-transform:uppercase; }.chat-form input,.chat-form textarea,.upload-dialog input,.upload-dialog textarea { display:block; width:100%; margin:6px 0 11px; padding:10px; border:1px solid rgba(255,255,255,.18); outline:none; background:#080b11; color:white; font-size:.85rem; resize:vertical; }.chat-form input:focus,.chat-form textarea:focus,.upload-dialog input:focus,.upload-dialog textarea:focus { border-color:var(--yellow); }.chat-form textarea { height:58px; }.chat-form-bottom { display:flex; justify-content:space-between; align-items:center; }.send-button { border:0; padding:10px 14px; background:var(--red); color:white; cursor:pointer; font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }.send-button span { color:var(--yellow); margin-left:7px; }.form-feedback { margin:8px 0 0; min-height:14px; color:#d7dee9; font-size:.72rem; }.form-feedback.error { color:#ff9aa0; }
footer { padding:27px clamp(20px,8vw,135px); display:flex; align-items:center; gap:14px; background:#030405; color:#969fab; font:.6rem var(--mono); letter-spacing:.1em; } footer p { margin:0; } footer a { color:white; } footer a:first-of-type { margin-left:auto; }
.upload-dialog { width:min(690px,calc(100% - 30px)); border:1px solid rgba(255,255,255,.25); padding:0; background:#101622; color:white; box-shadow:0 22px 80px rgba(0,0,0,.7); }.upload-dialog::backdrop { background:rgba(0,0,0,.8); backdrop-filter:blur(4px); }.upload-dialog form { padding:28px; }.dialog-heading { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }.dialog-heading h2 { font-size:2rem; }.close-dialog { border:0; color:white; background:transparent; cursor:pointer; font-size:2rem; }.file-picker { display:block; margin:20px 0; padding:24px; border:1px dashed rgba(255,255,255,.4); text-align:center; cursor:pointer; }.file-picker:hover { border-color:var(--yellow); background:rgba(255,207,38,.06); }.file-picker input { position:absolute; inline-size:1px; block-size:1px; opacity:0; }.file-picker small { display:block; color:#9faaba; margin-top:7px; font-size:.55rem; }.upload-preview { height:180px; margin:-4px 0 16px; }.upload-preview img { width:100%; height:100%; object-fit:cover; }.upload-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.upload-dialog textarea { height:75px; }.dialog-actions { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-top:18px; }.dialog-actions .form-feedback { margin:0; }
@media(max-width:850px) { .topbar nav { display:none; }.hero,.info-section,.community-section { grid-template-columns:1fr; }.hero { min-height:auto; }.hero-panel { max-width:580px; width:100%; }.info-grid { grid-template-columns:repeat(3,1fr); }.community-copy { max-width:560px; }.community-section:before { width:100%; opacity:.5; }.topbar { height:78px; } }
@media(max-width:600px) { body { font-size:16px; }.topbar { padding:0 18px; }.brand-logo { width:122px; height:55px; }.nav-cta { padding:10px 12px; font-size:.62rem; }.hero { padding:72px 20px 95px; }.hero h1 { font-size:3.3rem; }.hero-panel { min-height:220px; box-shadow:9px 10px 0 var(--red); }.info-grid,.photo-grid,.upload-fields { grid-template-columns:1fr; }.info-grid h3 { margin-top:25px; }.photo-card,.photo-card.wide { grid-column:auto; min-height:255px; }.photo-card img { min-height:255px; }.section-heading { align-items:flex-start; flex-direction:column; }.chat-frame { box-shadow:7px 8px 0 var(--red); }.chat-messages { height:340px; }.dialog-actions { align-items:flex-end; flex-direction:column; }.dialog-actions .form-feedback { align-self:stretch; } footer { flex-wrap:wrap; } footer a:first-of-type { margin-left:0; } }

/* Identidad final: usa la escena enviada como atmósfera y solo el nombre como marca superior. */
.brand-logo { width:154px; height:53px; overflow:hidden; position:relative; background-image:url('assets/iberica-pd-identidad.png'); background-repeat:no-repeat; background-size:347px 195px; background-position:-104px -64px; }
.brand-logo img { display:none; }
.hero { background:linear-gradient(90deg,rgba(3,5,9,.98) 2%,rgba(4,7,12,.86) 43%,rgba(4,7,12,.32)),url('assets/iberica-pd-identidad.png') center/cover no-repeat; }
.hero:before { background:linear-gradient(90deg,rgba(0,0,0,.23),transparent 45%),repeating-linear-gradient(104deg,transparent 0 130px,rgba(255,255,255,.025) 131px 132px); }
.hero-panel { background:linear-gradient(135deg,rgba(1,5,13,.76),rgba(16,39,72,.6)),url('assets/iberica-pd-identidad.png') center/cover no-repeat; }
.hero-panel:after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(128deg,transparent 0 62%,rgba(226,40,52,.34) 62% 64%,rgba(255,207,38,.32) 64% 66%,transparent 66%); }
.hero-identity { position:absolute; z-index:3; left:29px; bottom:28px; display:flex; flex-direction:column; align-items:flex-start; text-shadow:0 3px 16px rgba(0,0,0,.8); }
.hero-identity span { color:var(--yellow); font:500 .58rem var(--mono); letter-spacing:.19em; }
.hero-identity strong { margin:6px 0 9px; color:white; font:2.15rem/.85 var(--display); letter-spacing:.02em; }
.hero-identity small { color:#d9e0eb; font:500 .54rem var(--mono); letter-spacing:.11em; }
@media(max-width:600px) { .brand-logo { width:124px; height:43px; background-size:287px 161px; background-position:-86px -53px; }.hero-identity { left:22px; bottom:21px; }.hero-identity strong { font-size:1.8rem; } }

/* Packs donador */
.packs-section { background:radial-gradient(circle at 84% 14%,rgba(33,111,201,.22),transparent 28%),#0b0f16; }
.packs-section .section-heading,.packs-section .section-note { position:relative; z-index:1; }
.packs-section .section-note { max-width:760px; color:#b4becd; line-height:1.5; }
.packs-section code { padding:2px 5px; color:var(--yellow); background:rgba(255,255,255,.08); font:.72rem var(--mono); }
.packs-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:38px; }
.pack-card { min-height:405px; padding:24px; position:relative; display:flex; flex-direction:column; overflow:hidden; border:1px solid rgba(255,255,255,.22); background:linear-gradient(145deg,#162335,#0a0e15 70%); box-shadow:10px 11px 0 rgba(0,0,0,.25); }
.pack-card:after { content:''; position:absolute; right:-45px; top:-54px; width:155px; height:155px; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.pack-card.pack-blue { border-bottom:5px solid var(--blue); }.pack-card.pack-yellow { border-bottom:5px solid var(--yellow); }.pack-card.pack-red { border-bottom:5px solid var(--red); }
.pack-top { display:flex; align-items:center; justify-content:space-between; position:relative; z-index:1; color:#a7b7ca; font:.63rem var(--mono); letter-spacing:.11em; text-transform:uppercase; }.pack-top b { padding:5px 7px; color:#0b1018; background:var(--yellow); font-size:.56rem; }
.pack-card h3 { position:relative; z-index:1; margin:35px 0 13px; text-transform:uppercase; font:1.47rem var(--display); }.pack-card>p { position:relative; z-index:1; margin:0; min-height:72px; color:#b9c3d2; line-height:1.45; font-size:.91rem; }
.pack-card ul { position:relative; z-index:1; padding:0; margin:22px 0; list-style:none; color:#dce3ed; font-size:.86rem; line-height:1.45; }.pack-card li { margin:9px 0; padding-left:17px; position:relative; }.pack-card li:before { content:'✓'; position:absolute; left:0; color:var(--yellow); font-weight:700; }
.pack-card a { position:relative; z-index:1; margin-top:auto; padding-top:14px; border-top:1px solid rgba(255,255,255,.16); color:white; text-transform:uppercase; letter-spacing:.09em; font-size:.7rem; font-weight:700; }.pack-card a span { color:var(--yellow); margin-left:7px; }

/* Staff y vacantes */
.staff-section { background:#edf1f6; color:#0d1624; }.staff-section .eyebrow { color:var(--red); }.staff-section .button-quiet { color:#0d1624; border-color:#536172; background:transparent; }.staff-section .button-quiet:hover { border-color:var(--red); color:var(--red); }.staff-section .section-note { color:#5b6574; }
.staff-board { position:relative; max-width:1200px; margin:35px auto 0; overflow:hidden; background:#0b1524; border:5px solid white; box-shadow:0 17px 34px rgba(14,28,47,.2); }.staff-board:before { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; border:1px solid rgba(58,178,255,.7); }.staff-board img { display:block; width:100%; height:auto; }.staff-board figcaption { padding:10px 14px; color:#dce9f8; background:#0c1929; text-transform:uppercase; font:.58rem var(--mono); letter-spacing:.14em; }
.vacancies { max-width:1200px; margin:68px auto 0; padding:30px; display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:17px; color:white; background:linear-gradient(115deg,#0d1420,#162a46); border-top:5px solid var(--red); box-shadow:12px 13px 0 rgba(33,111,201,.38); }.vacancies-copy h3 { margin:0; text-transform:uppercase; font:1.9rem var(--display); }.vacancies-copy p { max-width:360px; margin:14px 0 0; color:#c4cedd; line-height:1.45; font-size:.9rem; }.vacancies .eyebrow { color:var(--yellow); margin-bottom:12px; }
.vacancy-card { padding:20px; background:rgba(1,5,12,.46); border:1px solid rgba(255,255,255,.18); border-bottom:3px solid var(--yellow); }.vacancy-card:nth-child(3) { border-bottom-color:var(--red); }.vacancy-card span { color:var(--yellow); font:.66rem var(--mono); }.vacancy-card h4 { margin:24px 0 9px; text-transform:uppercase; font:1.18rem var(--display); }.vacancy-card p { min-height:73px; margin:0; color:#c7d0de; line-height:1.42; font-size:.84rem; }.vacancy-card a { display:inline-block; margin-top:18px; color:white; border-bottom:1px solid var(--red); padding-bottom:5px; text-transform:uppercase; font-size:.66rem; letter-spacing:.08em; font-weight:700; }
@media(max-width:850px) { .packs-grid { grid-template-columns:1fr; max-width:560px; }.pack-card { min-height:0; }.vacancies { grid-template-columns:1fr; }.vacancy-card p { min-height:0; } }
@media(max-width:600px) { .staff-section .section-heading { flex-direction:column; align-items:flex-start; }.staff-board { border-width:3px; }.vacancies { margin-top:42px; padding:20px; box-shadow:7px 8px 0 rgba(33,111,201,.38); } }

.donations-button { grid-column:1 / -1; justify-self:center; display:inline-flex; align-items:center; gap:17px; margin-top:15px; padding:16px 29px; position:relative; overflow:hidden; color:white; background:linear-gradient(118deg,#a90b1e,#e22834 50%,#ff5b66); border:1px solid rgba(255,255,255,.35); box-shadow:10px 10px 0 rgba(82,4,14,.55),0 12px 28px rgba(226,40,52,.27); text-transform:uppercase; letter-spacing:.1em; font-size:.73rem; font-weight:700; transition:transform .2s,box-shadow .2s; }.donations-button:before { content:''; position:absolute; inset:0; background:linear-gradient(100deg,transparent 0 35%,rgba(255,255,255,.28) 48%,transparent 62%); transform:translateX(-110%); transition:transform .45s; }.donations-button:hover { transform:translateY(-4px); box-shadow:13px 14px 0 rgba(82,4,14,.55),0 15px 32px rgba(226,40,52,.34); }.donations-button:hover:before { transform:translateX(110%); }.donations-button span { color:var(--yellow); font-size:1.05rem; }

/* Página de anuncios */
.announcements-section { min-height:760px; overflow:hidden; background:radial-gradient(circle at 50% 42%,rgba(28,100,188,.24),transparent 34%),linear-gradient(140deg,#080b12,#121c2b 64%,#090b11); color:white; }
.announcements-section:before { content:'IBERICA PD'; position:absolute; z-index:0; left:50%; top:48%; transform:translate(-50%,-50%) rotate(-8deg); white-space:nowrap; color:transparent; -webkit-text-stroke:1px rgba(215,230,255,.075); font:clamp(5rem,17vw,17rem) var(--display); letter-spacing:-.05em; pointer-events:none; }
.announcements-section:after { content:''; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(125deg,transparent 0 73px,rgba(255,255,255,.022) 74px 75px); }
.announcements-section .section-heading,.announcements-section .section-note,.announcements-board,.announcements-edit-note { position:relative; z-index:1; }.announcements-section .section-note { color:#bdc7d5; }.announcements-heading { max-width:1000px; margin:0 auto; }.announcements-heading .button-quiet { color:white; }
.announcements-board { max-width:900px; margin:46px auto 0; display:grid; gap:22px; }.announcement-card { position:relative; padding:28px 32px 30px; border:2px solid transparent; background:linear-gradient(145deg,rgba(16,25,39,.98),rgba(6,10,17,.98)) padding-box,linear-gradient(120deg,var(--blue),#6fb7ff 29%,var(--yellow) 56%,var(--red)) border-box; box-shadow:14px 14px 0 rgba(3,5,9,.58),0 18px 40px rgba(0,0,0,.23); overflow:hidden; }.announcement-card:before { content:''; position:absolute; width:180px; height:180px; border-radius:50%; right:-55px; top:-80px; border:1px solid rgba(255,255,255,.1); }.announcement-card:after { content:''; position:absolute; left:0; bottom:0; width:100%; height:4px; background:linear-gradient(90deg,var(--blue),var(--yellow),var(--red)); }
.announcement-card.announcement-yellow:after { background:linear-gradient(90deg,var(--yellow),var(--blue),var(--yellow)); }.announcement-card.announcement-red:after { background:linear-gradient(90deg,var(--red),var(--yellow),var(--red)); }.announcement-meta { position:relative; z-index:1; display:flex; justify-content:space-between; gap:15px; color:var(--yellow); text-transform:uppercase; letter-spacing:.12em; font:.58rem var(--mono); }.announcement-meta time { color:#aab5c4; }.announcement-card h3 { position:relative; z-index:1; margin:19px 0 10px; text-transform:uppercase; font:1.42rem var(--display); letter-spacing:.01em; }.announcement-card p { position:relative; z-index:1; max-width:680px; margin:0; color:#d2dae5; line-height:1.45; font-size:.98rem; }.announcements-edit-note { max-width:900px; margin:30px auto 0; color:#9aa9ba; text-align:center; font-size:.76rem; }.announcements-edit-note code { color:var(--yellow); font:.68rem var(--mono); }
@media(max-width:600px) { .announcements-section { min-height:620px; }.announcements-heading { align-items:flex-start; flex-direction:column; }.announcement-card { padding:23px 20px 25px; box-shadow:8px 8px 0 rgba(3,5,9,.58),0 18px 40px rgba(0,0,0,.23); }.announcement-meta { align-items:flex-start; flex-direction:column; gap:6px; }.announcement-card h3 { font-size:1.18rem; }.announcements-section:before { top:50%; } }

/* Acceso con Discord */
.topbar-account { display:flex; align-items:center; gap:14px; }
.account-chip { display:inline-flex; align-items:center; gap:9px; padding:7px 12px 7px 8px; border:1px solid rgba(255,255,255,.2); background:rgba(33,111,201,.16); }
.account-chip img { display:block; width:30px; height:30px; object-fit:cover; border:1px solid rgba(255,255,255,.35); }
.account-chip i { display:grid; place-items:center; width:30px; height:30px; background:var(--blue); color:white; font:700 .8rem var(--display); font-style:normal; }
.account-chip b { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:white; font-size:.82rem; font-weight:700; }
.account-exit { color:#c3ccd9; border-bottom:1px solid var(--red); padding-bottom:3px; text-transform:uppercase; font:700 .62rem var(--body); letter-spacing:.11em; transition:color .2s; }
.account-exit:hover { color:var(--yellow); }

.login-flash { margin:0; padding:14px clamp(20px,8vw,135px); background:rgba(33,111,201,.2); border-bottom:1px solid var(--line); color:#e3e9f2; font:500 .74rem var(--mono); letter-spacing:.04em; }
.login-flash.is-error { background:rgba(226,40,52,.2); color:#ffd9dc; }

.gate-lock { position:relative; z-index:1; max-width:660px; margin:38px 0 0; padding:30px 32px 34px; overflow:hidden; border:1px solid rgba(255,255,255,.22); border-top:5px solid var(--yellow); background:linear-gradient(126deg,rgba(13,20,32,.96),rgba(22,42,70,.94)); box-shadow:12px 13px 0 rgba(226,40,52,.4); color:white; }
.gate-lock:after { content:''; position:absolute; right:-52px; top:-58px; width:170px; height:170px; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.gate-lock .eyebrow { color:var(--yellow); margin-bottom:13px; }
.gate-lock h3 { margin:0; text-transform:uppercase; font:1.65rem/1 var(--display); }
.gate-lock p { max-width:480px; margin:15px 0 0; color:#c6d0de; line-height:1.45; font-size:.92rem; }
.gate-actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:24px; }
.gate-lock-light { border-color:rgba(13,22,36,.18); box-shadow:12px 13px 0 rgba(33,111,201,.34); }
@media(max-width:600px) { .topbar-account { gap:9px; }.account-chip b { max-width:84px; }.login-flash { padding:12px 18px; font-size:.66rem; }.gate-lock { margin-top:28px; padding:22px; box-shadow:7px 8px 0 rgba(226,40,52,.4); }.gate-lock h3 { font-size:1.35rem; } }
