/* ============================================================================
 *  rad.css — WARBRASIL · Tema "Radioativo" (mesma pegada do launcher)
 * ----------------------------------------------------------------------------
 *  Verde toxico + glow hazmat + gosma nos cantos + chevrons de hazard.
 *  Usado por: index.php, perfil.php, rankings.php, torneios.php, admin.
 * ========================================================================== */

:root {
    --rad-green:    #4dee2e;
    --rad-green-2:  #9bff7a;
    --rad-lime:     #7CFF00;
    --rad-green-d:  #1f8c14;
    --rad-green-dd: #0c2308;
    --rad-glow:     rgba(77, 238, 46, 0.55);
    --rad-glow-s:   rgba(77, 238, 46, 0.25);
    --rad-hazard:   #f5d000;
    --rad-hazard-d: #1a1308;

    --bg-0: #050a03;
    --bg-1: #0b1207;
    --bg-2: #101a0a;
    --bg-3: #16240e;
    --line:  rgba(77, 238, 46, 0.18);
    --line-2:rgba(77, 238, 46, 0.35);

    --text:       #d9efcf;
    --text-muted: #8fa87e;
    --text-dim:   #61775275;

    --red:    #ff5544;
    --blue:   #58a6ff;
    --gold:   #ffd257;

    --f-display: 'Black Ops One', 'Russo One', sans-serif;
    --f-title:   'Russo One', 'Oswald', sans-serif;
    --f-body:    'Rajdhani', 'Segoe UI', sans-serif;
    --f-mono:    'Share Tech Mono', monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    margin: 0;
    min-height: 100vh;
    background: var(--bg-0);
    color: var(--text);
    font-family: var(--f-body);
    font-size: 16px;
    line-height: 1.55;
    overflow-x: hidden;
}

/* Fundo: imagem + vinheta verde-toxica */
.rad-bg {
    position: fixed; inset: 0; z-index: -2;
    background: url('../../images/T_WARBRASILBG.png') no-repeat center center;
    background-size: cover;
    filter: saturate(0.55) brightness(0.5) hue-rotate(55deg);
}
.rad-bg::after {
    content: ''; position: absolute; inset: 0;
    background:
        radial-gradient(1200px 600px at 50% -10%, rgba(77,238,46,0.14), transparent 60%),
        radial-gradient(900px 500px at 50% 110%, rgba(77,238,46,0.10), transparent 60%),
        linear-gradient(180deg, rgba(5,10,3,0.82) 0%, rgba(5,10,3,0.92) 45%, rgba(5,10,3,0.97) 100%);
}
/* Scanlines sutis (CRT industrial) */
.rad-scan {
    position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: repeating-linear-gradient(0deg, rgba(0,0,0,0.16) 0 2px, transparent 2px 4px);
    opacity: .35;
}

::selection { background: var(--rad-green); color: #0a0f06; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg-1); }
::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--rad-green), var(--rad-green-d));
    border-radius: 6px; box-shadow: 0 0 8px var(--rad-glow);
}

a { color: var(--rad-green-2); text-decoration: none; transition: color .2s; }
a:hover { color: var(--rad-lime); }

h1,h2,h3,h4 { font-family: var(--f-title); letter-spacing: .04em; margin: 0 0 .6rem; }

.container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

/* ============================ FAIXA HAZARD ============================ */
.hazard-stripe {
    height: 8px;
    background: repeating-linear-gradient(45deg,
        var(--rad-hazard) 0 16px, var(--rad-hazard-d) 16px 32px);
    box-shadow: 0 0 14px rgba(245, 208, 0, 0.25);
}

/* ================================ NAV ================================ */
.rad-nav {
    position: sticky; top: 0; z-index: 100;
    background: rgba(7, 13, 4, 0.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
}
.rad-nav__inner {
    max-width: 1180px; margin: 0 auto; padding: 10px 20px;
    display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
}
.rad-brand { display: flex; align-items: center; gap: 10px; }
.rad-brand img { height: 38px; filter: drop-shadow(0 0 8px var(--rad-glow)); }
.rad-brand__name {
    font-family: var(--f-display); font-size: 1.25rem; color: #fff;
    text-shadow: 0 0 10px var(--rad-glow);
}
.rad-brand__name b { color: var(--rad-green); }
.rad-nav__links { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-left: auto; }
.rad-nav a.nav-link {
    padding: 8px 13px; border-radius: 8px; color: var(--text-muted);
    font-family: var(--f-title); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em;
    border: 1px solid transparent;
}
.rad-nav a.nav-link:hover { color: var(--rad-green-2); background: rgba(77,238,46,0.06); }
.rad-nav a.nav-link.active {
    color: var(--rad-green); border-color: var(--line-2);
    background: rgba(77,238,46,0.08);
    box-shadow: inset 0 0 18px rgba(77,238,46,0.12), 0 0 10px rgba(77,238,46,0.10);
    text-shadow: 0 0 8px var(--rad-glow);
}
.nav-user {
    font-family: var(--f-mono); font-size: .8rem; color: var(--rad-hazard);
    border: 1px dashed rgba(245,208,0,0.4); padding: 5px 10px; border-radius: 6px;
}

/* ============================== BOTOES ============================== */
.btn {
    display: inline-flex; align-items: center; gap: 9px;
    padding: 12px 26px; border-radius: 10px; border: 1px solid transparent;
    font-family: var(--f-title); font-size: .95rem; text-transform: uppercase;
    letter-spacing: .07em; cursor: pointer; transition: all .22s ease;
    background: none; color: var(--text);
}
.btn-rad {
    background: linear-gradient(135deg, var(--rad-green) 0%, var(--rad-green-d) 100%);
    color: #061202; font-weight: 700;
    box-shadow: 0 0 16px var(--rad-glow), inset 0 0 10px rgba(255,255,255,0.14);
}
.btn-rad:hover { transform: translateY(-2px); box-shadow: 0 0 26px var(--rad-glow), inset 0 0 12px rgba(255,255,255,0.2); color: #061202; }
.btn-ghost { border-color: var(--line-2); color: var(--rad-green-2); }
.btn-ghost:hover { background: rgba(77,238,46,0.08); box-shadow: 0 0 12px var(--rad-glow-s); }
.btn-hazard {
    background: repeating-linear-gradient(45deg, var(--rad-hazard) 0 14px, #d9b900 14px 28px);
    color: #171200; font-weight: 800;
    box-shadow: 0 0 14px rgba(245,208,0,0.35);
}
.btn-hazard:hover { transform: translateY(-2px); color:#171200; }
.btn-danger { border-color: rgba(255,85,68,.5); color: var(--red); }
.btn-danger:hover { background: rgba(255,85,68,.1); }
.btn-sm { padding: 7px 14px; font-size: .78rem; border-radius: 8px; }
.btn[disabled] { opacity: .45; pointer-events: none; }

/* =============================== HERO =============================== */
.hero {
    min-height: 78vh; display: flex; align-items: center; text-align: center;
    padding: 70px 0 50px; position: relative;
}
.hero .logo-main { max-height: 130px; filter: drop-shadow(0 0 22px var(--rad-glow)); margin-bottom: 1.4rem; }
.hero h1 {
    font-family: var(--f-display); font-size: clamp(2.4rem, 6vw, 4.2rem); color: #fff;
    text-shadow: 0 0 18px var(--rad-glow), 0 0 60px rgba(77,238,46,0.25);
    margin-bottom: .4rem;
}
.hero h1 b { color: var(--rad-green); }
.hero .tagline {
    font-family: var(--f-mono); color: var(--rad-hazard); letter-spacing: .22em;
    text-transform: uppercase; font-size: clamp(.7rem, 1.6vw, .95rem); margin-bottom: 2rem;
}
.hero .lead { color: var(--text-muted); max-width: 640px; margin: 0 auto 2.2rem; font-size: 1.12rem; }

/* Radiacao girando atras do logo */
.hero .rad-symbol {
    position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
    width: 560px; height: 560px; opacity: .05; pointer-events: none;
    animation: rad-spin 60s linear infinite; z-index: -1;
    color: var(--rad-green); font-size: 560px; line-height: 1;
}
@keyframes rad-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

/* ========================= STRIP DE STATS AO VIVO ========================= */
.live-strip {
    display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 2.4rem;
}
.live-chip {
    background: rgba(11,18,7,0.85); border: 1px solid var(--line); border-radius: 12px;
    padding: 12px 22px; min-width: 150px;
}
.live-chip .v {
    font-family: var(--f-display); font-size: 1.7rem; color: var(--rad-green);
    text-shadow: 0 0 10px var(--rad-glow);
}
.live-chip .l { font-family: var(--f-mono); font-size: .68rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .14em; }
.live-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--rad-green); box-shadow:0 0 8px var(--rad-glow); animation: pulse-dot 1.6s infinite; vertical-align: 2px; margin-right: 6px; }
@keyframes pulse-dot { 50% { opacity: .35; } }

/* =============================== CARDS =============================== */
.card {
    background: linear-gradient(180deg, rgba(16,26,10,0.92), rgba(11,18,7,0.92));
    border: 1px solid var(--line); border-radius: 14px; padding: 22px;
    transition: all .25s ease; position: relative; overflow: hidden;
}
.card:hover { border-color: var(--line-2); box-shadow: 0 0 22px rgba(77,238,46,0.10); transform: translateY(-3px); }
.card--static:hover { transform: none; }
.card .card-title {
    font-family: var(--f-title); font-size: 1.02rem; text-transform: uppercase; letter-spacing: .08em;
    color: var(--rad-green-2); display: flex; align-items: center; gap: 9px; margin-bottom: 14px;
}
.card .card-title i { color: var(--rad-green); text-shadow: 0 0 8px var(--rad-glow); }
.card--corner::before {
    content: ''; position: absolute; top: -1px; right: -1px; width: 52px; height: 52px;
    background: repeating-linear-gradient(45deg, var(--rad-hazard) 0 10px, var(--rad-hazard-d) 10px 20px);
    clip-path: polygon(100% 0, 0 0, 100% 100%); opacity: .5;
}

.grid { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, 1fr); }
.grid-3 { grid-template-columns: repeat(3, 1fr); }
.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) { .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } }

/* ============================== SECOES ============================== */
.section { padding: 56px 0; }
.section-title {
    font-family: var(--f-title); font-size: 1.5rem; color: #fff; text-transform: uppercase;
    letter-spacing: .1em; display: flex; align-items: center; gap: 12px; margin-bottom: 26px;
}
.section-title i { color: var(--rad-green); text-shadow: 0 0 10px var(--rad-glow); }
.section-title::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, var(--line-2), transparent); }
.section-sub { color: var(--text-muted); margin: -16px 0 24px; }

/* ============================== TABELAS ============================== */
.rad-table { width: 100%; border-collapse: collapse; font-size: .98rem; }
.rad-table th {
    font-family: var(--f-mono); font-size: .7rem; letter-spacing: .14em; text-transform: uppercase;
    color: var(--rad-green-2); text-align: left; padding: 10px 12px;
    border-bottom: 1px solid var(--line-2); background: rgba(77,238,46,0.05);
}
.rad-table td { padding: 11px 12px; border-bottom: 1px solid rgba(77,238,46,0.08); }
.rad-table tbody tr { transition: background .15s; }
.rad-table tbody tr:hover { background: rgba(77,238,46,0.06); }
.rad-table .pos { font-family: var(--f-display); color: var(--text-muted); width: 54px; }
.rad-table tr.top1 .pos { color: var(--gold);   text-shadow: 0 0 10px rgba(255,210,87,.6); }
.rad-table tr.top2 .pos { color: #cfd8dc; }
.rad-table tr.top3 .pos { color: #cd7f32; }
.rad-table .nick a { color: #fff; font-weight: 600; }
.rad-table .nick a:hover { color: var(--rad-green); }
.rad-table .num { font-family: var(--f-mono); color: var(--rad-green-2); }

/* =============================== BADGES =============================== */
.tag {
    display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px; border-radius: 999px;
    font-family: var(--f-mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
    border: 1px solid var(--line-2); color: var(--rad-green-2); background: rgba(77,238,46,0.06);
}
.tag--yellow { border-color: rgba(245,208,0,.45); color: var(--rad-hazard); background: rgba(245,208,0,.07); }
.tag--red    { border-color: rgba(255,85,68,.45); color: var(--red); background: rgba(255,85,68,.07); }
.tag--blue   { border-color: rgba(88,166,255,.45); color: var(--blue); background: rgba(88,166,255,.07); }
.tag--gold   { border-color: rgba(255,210,87,.5); color: var(--gold); background: rgba(255,210,87,.08); }

.level-badge {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 40px; height: 40px; padding: 0 8px; border-radius: 9px;
    background: linear-gradient(135deg, var(--rad-green-dd), var(--bg-3));
    border: 1px solid var(--line-2); font-family: var(--f-display);
    color: var(--rad-green); font-size: 1.05rem; text-shadow: 0 0 8px var(--rad-glow);
}

/* ============================ ABAS (rankings) ============================ */
.rad-tabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.rad-tab {
    padding: 10px 18px; border-radius: 10px; border: 1px solid var(--line);
    color: var(--text-muted); font-family: var(--f-title); font-size: .82rem;
    text-transform: uppercase; letter-spacing: .07em; cursor: pointer; background: rgba(11,18,7,.7);
}
.rad-tab:hover { color: var(--rad-green-2); border-color: var(--line-2); }
.rad-tab.active {
    color: #061202; background: linear-gradient(135deg, var(--rad-green), var(--rad-green-d));
    border-color: transparent; box-shadow: 0 0 14px var(--rad-glow);
    font-weight: 700; text-shadow: none;
}

/* ============================ FORMULARIOS ============================ */
.field { margin-bottom: 16px; }
.field label {
    display: block; font-family: var(--f-mono); font-size: .72rem; letter-spacing: .12em;
    text-transform: uppercase; color: var(--rad-green-2); margin-bottom: 6px;
}
.field input, .field select, .field textarea {
    width: 100%; padding: 12px 14px; border-radius: 9px;
    background: rgba(5,10,3,0.75); border: 1px solid var(--line);
    color: var(--text); font-family: var(--f-body); font-size: 1rem;
    transition: border-color .2s, box-shadow .2s;
}
.field input:focus, .field select:focus, .field textarea:focus {
    outline: none; border-color: var(--rad-green); box-shadow: 0 0 12px var(--rad-glow-s);
}
.form-note { font-size: .85rem; color: var(--text-muted); }

.alert { padding: 13px 16px; border-radius: 10px; font-size: .95rem; margin-bottom: 18px; }
.alert-ok  { background: rgba(77,238,46,.09); border: 1px solid var(--line-2); color: var(--rad-green-2); }
.alert-err { background: rgba(255,85,68,.09); border: 1px solid rgba(255,85,68,.4); color: #ffb4ab; }
.alert-warn{ background: rgba(245,208,0,.08); border: 1px solid rgba(245,208,0,.4); color: var(--rad-hazard); }

/* ========================= PERFIL PUBLICO ========================= */
.profile-head {
    display: flex; gap: 26px; align-items: center; flex-wrap: wrap;
    padding: 30px; border-radius: 16px; position: relative; overflow: hidden;
    background: linear-gradient(120deg, rgba(16,26,10,.95) 0%, rgba(12,35,8,.9) 60%, rgba(16,26,10,.95) 100%);
    border: 1px solid var(--line-2);
    box-shadow: 0 0 30px rgba(77,238,46,.08), inset 0 0 60px rgba(77,238,46,.04);
}
.profile-head::before {
    content: ''; position: absolute; inset: 0 0 auto 0; height: 6px;
    background: repeating-linear-gradient(45deg, var(--rad-hazard) 0 14px, var(--rad-hazard-d) 14px 28px);
    opacity: .55;
}
.profile-avatar {
    width: 96px; height: 96px; border-radius: 14px; flex: 0 0 auto;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--rad-green-dd), var(--bg-3));
    border: 1px solid var(--line-2); font-family: var(--f-display);
    font-size: 2.4rem; color: var(--rad-green); text-shadow: 0 0 14px var(--rad-glow);
}
.profile-nick { font-family: var(--f-display); font-size: 2rem; color: #fff; text-shadow: 0 0 14px var(--rad-glow); }
.profile-meta { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }

.stat-tile { text-align: center; padding: 18px 10px; }
.stat-tile .v { font-family: var(--f-display); font-size: 1.65rem; color: var(--rad-green); text-shadow: 0 0 10px var(--rad-glow); }
.stat-tile .v.gold { color: var(--gold); text-shadow: 0 0 10px rgba(255,210,87,.5); }
.stat-tile .v.red  { color: var(--red);  text-shadow: none; }
.stat-tile .l { font-family: var(--f-mono); font-size: .66rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: .13em; margin-top: 4px; }

.progress { height: 10px; border-radius: 6px; background: rgba(77,238,46,.09); overflow: hidden; }
.progress > span {
    display: block; height: 100%; border-radius: 6px;
    background: linear-gradient(90deg, var(--rad-green-d), var(--rad-green), var(--rad-green-2));
    box-shadow: 0 0 12px var(--rad-glow);
}

/* ============================ TIMES (torneio) ============================ */
.team-card { padding: 0; overflow: hidden; }
.team-card .team-head {
    padding: 13px 18px; font-family: var(--f-title); text-transform: uppercase; letter-spacing: .08em;
    color: #061202; font-weight: 700;
    background: linear-gradient(135deg, var(--rad-green), var(--rad-green-d));
    display: flex; justify-content: space-between; align-items: center;
}
.team-card.reserve .team-head { background: repeating-linear-gradient(45deg, var(--rad-hazard) 0 14px, #d9b900 14px 28px); color: #171200; }
.team-card ul { list-style: none; margin: 0; padding: 8px 0; }
.team-card li { padding: 9px 18px; border-bottom: 1px solid rgba(77,238,46,.07); display: flex; justify-content: space-between; gap: 10px; }
.team-card li:last-child { border-bottom: none; }
.team-card li .lv { font-family: var(--f-mono); font-size: .8rem; color: var(--text-muted); }

/* ============================ CHAVEAMENTO ============================ */
.bracket { display: flex; gap: 26px; overflow-x: auto; padding: 6px 2px 14px; }
.bracket-round { display: flex; flex-direction: column; justify-content: space-around; gap: 16px; min-width: 210px; }
.bracket-round > .round-label {
    font-family: var(--f-mono); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase;
    color: var(--rad-green-2); text-align: center; margin-bottom: 4px;
}
.match {
    background: linear-gradient(180deg, rgba(16,26,10,.95), rgba(11,18,7,.95));
    border: 1px solid var(--line); border-radius: 10px; overflow: hidden;
}
.match.decided { border-color: var(--line-2); box-shadow: 0 0 14px rgba(77,238,46,.08); }
.match .side {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 9px 12px; font-size: .9rem; color: var(--text);
}
.match .side + .side { border-top: 1px dashed var(--line); }
.match .side.win { color: #fff; font-weight: 700; background: rgba(77,238,46,.08); }
.match .side.win::before { content: '\f091'; font-family: 'Font Awesome 6 Free'; font-weight: 900; color: var(--gold); margin-right: 6px; font-size: .8rem; }
.match .side.tbd { color: var(--text-dim); font-style: italic; }
.match .map {
    font-family: var(--f-mono); font-size: .66rem; letter-spacing: .08em; text-transform: uppercase;
    color: var(--rad-hazard); text-align: center; padding: 5px 8px; background: rgba(245,208,0,.06);
    border-top: 1px solid rgba(245,208,0,.2);
}
.match .map i { margin-right: 5px; }
.match.bye .side.tbd { color: var(--text-muted); }
.champion-banner {
    text-align: center; padding: 18px; border-radius: 12px; margin-top: 14px;
    background: linear-gradient(135deg, rgba(255,210,87,.12), rgba(31,140,20,.1));
    border: 1px solid rgba(255,210,87,.4);
}
.champion-banner .c-name { font-family: var(--f-display); font-size: 1.6rem; color: var(--gold); text-shadow: 0 0 14px rgba(255,210,87,.4); }

/* ============================== FOOTER ============================== */
.rad-footer {
    margin-top: 40px; padding: 34px 0 26px; text-align: center;
    border-top: 1px solid var(--line); background: rgba(7,13,4,.85);
}
.rad-footer .links { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; margin: 12px 0; }
.rad-footer .fine { font-family: var(--f-mono); font-size: .72rem; color: var(--text-dim); letter-spacing: .16em; text-transform: uppercase; }

/* ======================= GOSMA RADIOATIVA (cantos) ======================= */
.rad-goo { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: 90; }
.rad-goo::after {
    content: ''; position: absolute; inset: 0;
    background:
        radial-gradient(170px 140px at 0% 0%,   rgba(77,238,46,.14), transparent 70%),
        radial-gradient(170px 140px at 100% 0%, rgba(77,238,46,.14), transparent 70%),
        radial-gradient(190px 160px at 0% 100%, rgba(77,238,46,.18), transparent 70%),
        radial-gradient(190px 160px at 100% 100%, rgba(77,238,46,.18), transparent 70%);
}
.rad-goo-corner { position: absolute; width: 230px; height: 300px; }
.rad-goo-tl { top: 0; left: 0; }
.rad-goo-tr { top: 0; right: 0; transform: scaleX(-1); }
.rad-goo-bl { bottom: 0; left: 0; }
.rad-goo-br { bottom: 0; right: 0; transform: scaleX(-1); }
.rad-goo-corner::before {
    content: ''; position: absolute; width: 74px; height: 74px;
    background: repeating-linear-gradient(45deg, var(--rad-hazard) 0 13px, var(--rad-hazard-d) 13px 26px);
    opacity: .35; filter: blur(.4px) brightness(.85);
}
.rad-goo-tl::before, .rad-goo-tr::before { top: -8px; left: -8px; clip-path: polygon(0 0, 100% 0, 0 100%); }
.rad-goo-bl::before, .rad-goo-br::before { bottom: -8px; left: -8px; clip-path: polygon(0 0, 0 100%, 100% 100%); }

.rad-goo-mass {
    position: absolute;
    background: radial-gradient(ellipse at 28% 38%,
        var(--rad-green-2) 0%, var(--rad-green) 38%, var(--rad-green-d) 78%, var(--rad-green-dd) 100%);
    filter: drop-shadow(0 0 20px var(--rad-glow));
}
.rad-goo-mass::before {
    content: ''; position: absolute; inset: 6% 8%;
    background:
        radial-gradient(circle at 30% 50%, rgba(255,255,255,.3), transparent 18%),
        radial-gradient(circle at 70% 35%, rgba(155,255,122,.5), transparent 25%);
    border-radius: inherit; mix-blend-mode: screen; pointer-events: none;
}
.rad-goo-tl .rad-goo-mass, .rad-goo-tr .rad-goo-mass {
    top: -6px; left: -6px; width: 175px; height: 50px;
    border-radius: 0 0 38% 70% / 0 0 80% 100%;
    box-shadow: inset -8px -12px 22px rgba(0,0,0,.45), inset 10px 8px 18px rgba(255,255,255,.2), inset 0 -3px 0 rgba(31,140,20,.6);
    transform-origin: top center; animation: rad-wobble 6.5s ease-in-out infinite;
}
.rad-goo-bl .rad-goo-mass, .rad-goo-br .rad-goo-mass {
    bottom: -6px; left: -6px; width: 185px; height: 58px;
    border-radius: 55% 78% 0 0 / 100% 90% 0 0;
    box-shadow: inset -8px 12px 22px rgba(0,0,0,.5), inset 10px -6px 18px rgba(255,255,255,.2), inset 0 3px 0 rgba(31,140,20,.7);
    transform-origin: bottom center; animation: rad-ooze 7.5s ease-in-out infinite;
}
@keyframes rad-wobble { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.08) skewX(-1.5deg); } }
@keyframes rad-ooze   { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.1) skewX(1.2deg); } }

/* Pingos com filamento */
.rad-drip { position: absolute; top: 34px; width: 13px; height: 15px;
    background: radial-gradient(ellipse at 40% 30%, var(--rad-green-2) 0%, var(--rad-green) 50%, var(--rad-green-d) 95%);
    border-radius: 46% 54% 60% 60% / 40% 40% 90% 90%;
    filter: drop-shadow(0 0 9px var(--rad-glow));
    animation: rad-drip-fall var(--dur, 5s) var(--delay, 0s) ease-in infinite;
}
.rad-drip::before { content: ''; position: absolute; top: -13px; left: 50%; width: 3px; height: 14px; transform: translateX(-50%);
    background: linear-gradient(180deg, var(--rad-green-d) 0%, var(--rad-green) 60%, var(--rad-green-2) 100%);
    border-radius: 2px; box-shadow: 0 0 6px var(--rad-glow);
}
@keyframes rad-drip-fall {
    0%   { transform: translateY(0) scale(1, .7); opacity: 0; }
    8%   { opacity: 1; transform: translateY(2px) scale(1, 1.15); }
    16%  { transform: translateY(6px) scale(.95, 1.3); }
    70%  { transform: translateY(46vh) scale(.9, 1.15); opacity: 1; }
    100% { transform: translateY(96vh) scale(.85, 1.1); opacity: 0; }
}
/* Bolhas na poca */
.rad-bubble { position: absolute; bottom: 26px; width: 16px; height: 16px; border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, var(--rad-green-2) 0%, var(--rad-green) 60%, var(--rad-green-d) 100%);
    filter: drop-shadow(0 0 8px var(--rad-glow));
    animation: rad-bubble-pop var(--dur, 4.5s) var(--delay, 0s) ease-in-out infinite;
}
@keyframes rad-bubble-pop {
    0%, 55% { transform: scale(.2); opacity: 0; }
    70% { transform: scale(1); opacity: .95; }
    82% { transform: scale(1.25); opacity: .8; }
    86% { transform: scale(1.5); opacity: 0; }
    100% { transform: scale(.2); opacity: 0; }
}

@media (max-width: 760px) {
    .rad-goo-corner { display: none; }         /* mobile: sem gosma (performance) */
    .hero { min-height: 62vh; }
    .hero .rad-symbol { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .rad-goo-mass, .rad-drip, .rad-bubble, .hero .rad-symbol { animation: none !important; }
}
