:root{--bg:#050505;--surface:#101010;--surface2:#181818;--line:#343434;--text:#fff;--muted:#a1a1a2;--accent:#ffd700;--accent2:#ffb300;--glow:rgba(255,215,0,.2);--hero-image:url('../img/club-guga-hero.webp');--mission-art:url('../img/missions-guga-v1.webp');--raffle-art:url('../img/raffle-guga-v1.webp');--danger:#ff5a6b;--ok:#48d597;--radius:18px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
html[data-brand=rafa]{--accent:#e600c7;--accent2:#ff4fa3;--glow:rgba(230,0,199,.22);--hero-image:url('../img/club-rafa-hero.webp');--mission-art:url('../img/missions-rafa-v1.webp');--raffle-art:url('../img/raffle-rafa-v1.webp')}
*{box-sizing:border-box;min-width:0}html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}body{position:relative;margin:0;background:radial-gradient(circle at 50% -10%,var(--glow),transparent 28rem),var(--bg);color:var(--text);font:400 15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh;width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none;padding-bottom:calc(86px + var(--safe-bottom));touch-action:pan-y pinch-zoom}button,input,textarea,select{font:inherit;max-width:100%}button,a,[role=button]{touch-action:manipulation}button{color:inherit}.skip-link{position:fixed;left:12px;top:-50px;background:var(--accent);color:#111;padding:10px;z-index:99}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.auth-screen{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at top,var(--glow),transparent 35rem),var(--bg);display:grid;place-items:center;padding:18px;overflow:auto}.auth-screen[hidden]{display:none}.auth-card{width:min(100%,430px);padding:24px}.auth-brand{margin-bottom:30px}.auth-card h1{font-size:30px}.auth-card form[hidden]{display:none}.check{display:flex;gap:9px;align-items:flex-start;color:var(--muted);font-size:12px;margin:15px 0}.check input{width:20px;height:20px;accent-color:var(--accent)}.tabs{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:5px;background:var(--surface);border:1px solid var(--line);padding:5px;border-radius:14px;margin-bottom:14px}.tabs button{min-height:40px;border:0;border-radius:10px;background:none;color:var(--muted);font-weight:750}.tabs button.active{background:var(--surface2);color:var(--accent)}
.topbar{height:68px;padding:10px max(16px,calc((100% - 720px)/2));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;background:rgba(8,10,17,.9);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)}.brand{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#111;font-size:22px;font-weight:950;box-shadow:0 0 20px var(--glow)}.brand small,.brand strong{display:block;line-height:1}.brand small{font-size:9px;letter-spacing:.18em;color:var(--muted)}.brand strong{font-size:17px;letter-spacing:.08em}.top-actions{display:flex;gap:8px}.icon-btn{min-width:44px;height:44px;border:1px solid var(--line);background:var(--surface2);border-radius:13px}.balance{height:44px;border:1px solid var(--line);background:var(--surface2);padding:5px 10px;border-radius:13px;display:grid;grid-template-columns:auto auto;column-gap:6px;text-align:left}.balance>span{grid-row:1/3;color:var(--accent);align-self:center}.balance strong{font-size:14px}.balance small{font-size:9px;color:var(--muted);text-transform:uppercase}.connection{position:sticky;top:68px;z-index:19;background:#732638;color:#fff;text-align:center;padding:8px 16px;font-size:12px}
main{max-width:720px;margin:auto;padding:18px 16px 36px}.page{display:none;animation:page-in .22s ease}.page.active{display:block}@keyframes page-in{from{opacity:0;transform:translateY(5px)}}h1,h2,p{margin-top:0}h1{font-size:clamp(27px,8vw,38px);line-height:1.08;letter-spacing:-.035em}h2{font-size:19px;letter-spacing:-.02em}p{color:var(--muted)}small{color:var(--muted)}.eyebrow{display:block;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em;margin-bottom:7px}.card{background:linear-gradient(145deg,rgba(24,29,43,.96),rgba(14,17,27,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 14px 30px rgba(0,0,0,.18)}.hero{padding:22px;display:flex;overflow:hidden;min-height:210px;align-items:center}.hero>div{position:relative;z-index:1}.hero h1{font-size:30px;max-width:360px}.hero img{width:34%;height:auto;filter:drop-shadow(0 0 28px var(--glow));transform:rotate(4deg)}.btn{min-height:46px;padding:0 18px;border-radius:13px;font-weight:800;border:1px solid transparent}.btn.primary{color:#17120a;background:linear-gradient(100deg,var(--accent),var(--accent2));box-shadow:0 6px 22px var(--glow)}.btn.secondary{background:var(--surface2);border-color:var(--line)}.btn.wide{width:100%}.btn:disabled{opacity:.45}.section-title{margin:25px 2px 11px;display:flex;align-items:end;justify-content:space-between;gap:10px}.section-title h2,.section-title .eyebrow{margin-bottom:0}.text-btn{border:0;background:none;color:var(--accent);font-weight:750;padding:7px}.streak-count{color:var(--accent);font-size:13px}.streak-card{padding:16px}.streak-days{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.day{aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--surface2);border:1px solid var(--line);color:var(--muted);font-size:10px}.day.done{background:var(--accent);color:#111;border-color:transparent}.day.today{border-color:var(--accent);box-shadow:0 0 0 2px var(--glow)}.progress{height:6px;background:#252a38;border-radius:99px;overflow:hidden;margin:14px 0}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:inherit}.streak-card p{margin:0}.streak-card p>*{display:block}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-card{min-height:136px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:13px;text-align:left}.quick-card>*{display:block}.quick-icon{color:var(--accent);font-size:31px;margin-bottom:13px}.quick-card small{font-size:10px;margin-top:5px}.live-dot{width:13px;height:13px;background:var(--danger);border-radius:50%;margin:9px 0 24px;box-shadow:0 0 0 7px rgba(255,90,107,.12)}.badge-strip{display:flex;gap:10px;overflow:auto;padding:3px 2px 10px;scrollbar-width:none}.badge-chip{min-width:92px;text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:13px 7px}.badge-symbol{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 7px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#16110b;font-size:24px;font-weight:900}.badge-chip small{display:block;font-size:9px}
.page-heading{padding:14px 2px 9px}.page-heading.centered{text-align:center}.page-heading p{max-width:520px}.mission-list{display:grid;gap:11px}.mission{display:grid;grid-template-columns:64px 1fr auto;gap:13px;align-items:center;padding:13px}.mission-art{width:64px;height:64px;border-radius:14px;background:linear-gradient(145deg,var(--glow),var(--surface2));display:grid;place-items:center;font-size:28px}.mission h2{font-size:15px;margin-bottom:3px}.mission p{font-size:11px;margin-bottom:8px}.reward{color:var(--accent);font-size:12px;font-weight:800}.mission-state{font-size:10px;padding:6px 8px;border-radius:99px;background:var(--surface2);white-space:nowrap}.mission-state.done{color:var(--ok)}.rules{margin-top:15px;padding:15px}.rules summary{font-weight:700}.rules p{font-size:12px;margin:12px 0 0}
.roulette-stage{width:min(82vw,380px);aspect-ratio:1;margin:12px auto 20px;padding:18px;position:relative;border-radius:50%;box-shadow:0 0 55px var(--glow)}.wheel{width:100%;height:100%;border-radius:50%;background:conic-gradient(#d74955 0 58%,#252c3c 58% 88%,#d39b21 88% 99.5%,var(--accent) 99.5%);border:8px solid #363d4d;position:relative;transition:transform 4s cubic-bezier(.12,.68,.11,1);will-change:transform}.wheel:after{content:"0  •  100  •  200  •  5000";position:absolute;inset:11%;border:2px dashed rgba(255,255,255,.35);border-radius:50%;display:grid;place-items:center;text-align:center;letter-spacing:.17em;font-weight:900;font-size:12px}.wheel-center{position:absolute;inset:36%;z-index:2;background:var(--surface);border:5px solid var(--accent);border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:950}.wheel-pointer{position:absolute;z-index:3;top:-5px;left:calc(50% - 16px);width:32px;height:42px;background:var(--accent);clip-path:polygon(0 0,100% 0,50% 100%)}.spin-panel{padding:17px;text-align:center}.spin-panel>div{display:flex;justify-content:space-between;margin-bottom:14px}.spin-panel strong{color:var(--accent)}.result{min-height:22px;margin:13px 0 0;font-size:12px}
.draw-hero{padding:20px}.pill{display:inline-flex;padding:6px 9px;border-radius:99px;background:var(--surface2);font-size:10px;font-weight:900;letter-spacing:.08em}.pill.live{color:#ff8795;background:rgba(255,90,107,.12)}.pill.live i{width:7px;height:7px;border-radius:50%;background:var(--danger);margin:3px 6px 0 0}.draw-hero h2{font-size:25px;margin:18px 0 5px}.ticket-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:18px 0}.ticket-choices button{height:45px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);font-weight:800}.ticket-choices button.selected{border-color:var(--accent);color:var(--accent);background:var(--glow)}.field{display:block;margin:14px 0}.field>span{display:block;font-size:12px;font-weight:750;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);background:#0d1019;border-radius:12px;color:var(--text);padding:13px}.field small{display:block;font-size:10px;margin-top:6px}.purchase-summary{display:flex;justify-content:space-between;padding:13px 0;border-top:1px solid var(--line)}.purchase-summary strong{color:var(--accent)}.draw-row{display:flex;align-items:center;gap:12px;padding:0 16px 16px}.date-box{width:49px;height:56px;border:1px solid var(--line);border-radius:11px;display:grid;place-items:center;font-size:18px}.date-box b{font-size:9px;color:var(--accent)}.draw-row small{display:block}
.badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.badge-card{padding:17px;text-align:center;position:relative}.badge-card .badge-symbol{width:70px;height:70px;font-size:31px}.badge-card.locked{filter:saturate(0);opacity:.55}.badge-card button{margin-top:10px}.badge-card .pinned{position:absolute;top:9px;right:9px;color:var(--accent);font-size:10px}.module-grid{display:grid;gap:11px}.module-card{padding:20px}.module-icon{font-size:35px;color:var(--accent)}.module-card h2{margin:11px 0 4px}.file-btn{display:inline-flex;align-items:center}.video-shell{aspect-ratio:16/9;background:#05060a;border:1px solid var(--line);border-radius:16px;display:grid;place-items:center;overflow:hidden}.video-shell button{border:0;background:none;text-align:center}.video-shell button>*{display:block;margin:auto}.video-shell button span{font-size:38px;color:var(--accent)}.video-shell iframe{width:100%;height:100%;border:0}.live-progress{margin:11px 0;padding:13px}.live-progress small{display:block}.live-progress .progress{margin-bottom:0}.chat{padding:14px}.online{color:var(--ok);font-size:10px}.messages{height:230px;overflow:auto;display:flex;flex-direction:column;gap:9px}.message{font-size:12px}.message b{color:var(--accent);margin-right:5px}.chat form{display:flex;gap:7px;margin-top:12px}.chat input{flex:1;min-width:0;background:#0d1019;border:1px solid var(--line);border-radius:12px;padding:12px}.profile-head{display:flex;align-items:center;gap:15px;padding:18px 2px}.avatar{width:72px;height:72px;border-radius:22px;background:linear-gradient(145deg,var(--accent),var(--accent2));display:grid;place-items:center;color:#16110b;font-size:23px;font-weight:950}.profile-head h1{margin:0}.profile-head p{font-size:11px}.menu-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.menu-list button{width:100%;display:grid;grid-template-columns:35px 1fr auto;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);padding:15px}.menu-list button:last-child{border:0}.menu-list button>span{color:var(--accent);font-size:20px}.menu-list strong,.menu-list small{display:block}.support-form{padding:18px}
.badge-info{width:100%;border:0;background:none;padding:0;color:inherit}.badge-info h2{margin:8px 0 3px}.badge-chip{color:inherit}.bottom-nav{position:fixed!important;transform:translateZ(0)}
.module-card textarea{width:100%;margin:10px 0;background:#0d1019;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:9px}.module-card form .btn{margin-top:8px}.status-list{display:grid;gap:5px;border-top:1px solid var(--line);margin-top:15px;padding-top:12px}.record-list,[data-ticket-list]{display:grid;gap:10px;margin-top:12px}.record,.ticket{padding:15px}.record{display:flex;gap:15px;align-items:center}.record span{font-weight:850}.record small{display:block}.positive{color:var(--ok)}.negative{color:var(--danger)}
.share-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.share-grid .btn{text-align:center;text-decoration:none;padding-inline:8px}
.mission{position:relative}.mission-action{grid-column:2/4;display:flex;gap:8px;align-items:center}.mission-action .btn{min-height:38px;padding-inline:14px}.mission-action .text-btn{margin-left:auto}.mission[role=button]{cursor:pointer}.mission[role=button]:active{transform:scale(.99)}
.draw-cover{display:flex;align-items:center;gap:16px;margin-bottom:18px}.draw-cover h2{margin-top:8px}.draw-crown{width:72px;height:72px;flex:0 0 72px;border-radius:20px;display:grid;place-items:center;font-size:38px;color:#17120a;background:linear-gradient(145deg,var(--accent),var(--accent2));box-shadow:0 8px 28px var(--glow)}.draw-form{margin-top:17px;padding-top:4px;border-top:1px solid var(--line)}.draw-form[hidden]{display:none}
.wheel{overflow:hidden;box-shadow:inset 0 0 0 3px rgba(255,255,255,.08),inset 0 0 32px rgba(0,0,0,.42)}.wheel:before{content:"";position:absolute;inset:4%;border:3px dotted rgba(255,255,255,.62);border-radius:50%;z-index:1}.wheel:after{content:""}.wheel-label{position:absolute;z-index:2;left:50%;top:50%;font-size:15px;font-weight:950;text-shadow:0 2px 4px #000;transform-origin:0 0}.label-zero{transform:rotate(72deg) translateY(-118px) rotate(-72deg)}.label-hundred{transform:rotate(218deg) translateY(-118px) rotate(-218deg)}.label-two{transform:rotate(307deg) translateY(-118px) rotate(-307deg)}.label-jackpot{transform:rotate(355deg) translateY(-118px) rotate(-355deg);color:#15110a;text-shadow:none}.wheel-center{box-shadow:0 0 0 7px rgba(0,0,0,.22),0 6px 20px rgba(0,0,0,.45)}
.modal-hero{display:flex;gap:13px;align-items:center;margin-bottom:14px}.modal-icon{width:54px;height:54px;border-radius:15px;background:var(--glow);display:grid;place-items:center;font-size:25px;color:var(--accent)}.modal-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.modal-meta span{background:var(--surface2);padding:10px;border-radius:10px;font-size:11px}.modal-actions{display:grid;gap:8px;margin-top:18px}
.bottom-nav{position:fixed;z-index:30;bottom:0;left:0;right:0;height:calc(70px + var(--safe-bottom));padding:7px max(5px,calc((100% - 720px)/2)) var(--safe-bottom);background:rgba(11,13,21,.95);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(7,1fr);backdrop-filter:blur(12px)}.bottom-nav button{min-width:0;padding:0 1px;border:0;background:none;color:var(--muted);font-size:8px}.bottom-nav button span{display:block;font-size:19px;line-height:1.35}.bottom-nav button.active{color:var(--accent)}.bottom-nav .nav-main span{width:44px;height:44px;margin:-19px auto 1px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#111;border:5px solid var(--bg)}dialog{width:min(92vw,440px);border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);padding:0}dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(3px)}dialog form{padding:23px}.modal-close{position:absolute;right:10px;top:10px;border:0;background:var(--surface2);width:38px;height:38px;border-radius:50%;font-size:22px}.modal-content h2{padding-right:35px}.modal-content li{color:var(--muted);margin:8px 0}.toast{position:fixed;z-index:50;bottom:calc(82px + var(--safe-bottom));left:50%;transform:translate(-50%,20px);width:min(90%,400px);background:#f5f5f8;color:#161820;border-radius:13px;padding:12px 16px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.streak-toggle{display:block;margin:10px auto 0}.support-hero,.story-card,.why-support,.support-donation{padding:22px;margin-bottom:12px}.support-hero{text-align:center;background:radial-gradient(circle at top,var(--glow),transparent 65%),linear-gradient(145deg,var(--surface),#0b0e16)}.support-heart{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 14px;border-radius:24px;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#17120a;font-size:42px;box-shadow:0 12px 34px var(--glow)}.support-reasons{display:grid;gap:9px}.support-reasons>div{display:grid;grid-template-columns:42px 1fr;gap:2px 10px;padding:13px;background:var(--surface2);border-radius:13px}.support-reasons span{grid-row:1/3;font-size:25px}.support-reasons small{display:block}.pix-box{padding:13px;border:1px dashed var(--accent);border-radius:13px}.pix-box strong{display:block;color:var(--text);word-break:break-all}.played-games{padding:15px;margin-bottom:11px}.played-games-grid{display:grid;gap:8px}.played-game{display:flex;justify-content:space-between;padding:12px;border-radius:12px;background:var(--surface2)}.played-game small{color:var(--accent)}.live-tabs{margin-bottom:12px}
.shared-chat-card{overflow:hidden}.shared-chat-frame{display:block;width:100%;height:520px;border:0;background:#0d1019}
.shared-chat-card.chat-collapsed{padding-bottom:12px}.shared-chat-card.chat-collapsed .shared-chat-frame{display:none}.chat-visibility-toggle{min-width:76px;min-height:44px;padding:8px 12px}.shared-chat-card .section-title{align-items:center}
@media(min-width:600px){.module-grid{grid-template-columns:repeat(3,1fr)}.mission-list{grid-template-columns:repeat(2,1fr)}.badge-grid{grid-template-columns:repeat(3,1fr)}}
.demo-banner{max-width:720px;margin:8px auto 0;padding:9px 14px;border:1px solid #8b6824;border-radius:11px;background:#2b210e;color:#ffd975;text-align:center;font-size:11px;font-weight:800}.streak-days{grid-template-columns:repeat(5,1fr)}.ticket-choices button small{display:block;color:var(--muted);font-size:8px}.bottom-nav button.active{background:linear-gradient(180deg,var(--glow),transparent);border-radius:10px;font-weight:800}.bottom-nav button{min-height:44px;font-size:9px}.tabs button{min-height:44px}dialog{max-height:min(88vh,680px);overflow:auto}.modal-close{width:44px;height:44px}.shared-chat-frame{height:min(62vh,460px)}
.is-loading{opacity:.62;pointer-events:none}.form-status{display:block;margin:10px 0;padding:10px;border-radius:10px;background:var(--surface2)}.form-status.error{color:#ffd2d8;border:1px solid var(--danger)}.form-status.confirmed{color:var(--ok);border:1px solid var(--ok)}[aria-busy=true] .btn.primary,.btn[aria-busy=true]{opacity:.62;pointer-events:none}
.result-card{padding:17px}.winner-list{display:grid;gap:7px;margin-top:12px}.winner-row{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:11px;background:var(--surface2)}.winner-row strong{color:var(--accent)}
.winner-row.current-winner{position:relative;border:2px solid var(--accent);background:linear-gradient(115deg,var(--glow),var(--surface2) 62%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 42%,transparent),0 0 22px var(--glow);animation:winner-highlight 1.5s ease-in-out infinite}.winner-row.current-winner small:first-child{color:var(--accent);font-weight:950;letter-spacing:.04em}@keyframes winner-highlight{50%{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent),0 0 34px var(--glow)}}
.outcome{padding:11px 13px;border-radius:12px;margin-bottom:12px;background:var(--surface2);font-weight:800}.outcome.won{color:var(--ok);border:1px solid var(--ok)}.outcome.closed{color:var(--muted)}.participation-status{display:inline-block;margin-top:5px;font-size:10px;font-weight:900;color:var(--muted)}.participation-status.won{color:var(--ok)}
.winner-more{margin-top:10px}.winner-more summary{min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-weight:800;cursor:pointer}
@media(max-width:370px){main{padding-inline:11px}.hero img{display:none}.quick-card{padding:10px}.ticket-choices{grid-template-columns:repeat(2,1fr)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Mobile-first containment and progressive disclosure. */
html,body{overflow-x:hidden;overflow-x:clip}body.modal-open{overflow:hidden}img,svg,video,canvas,iframe{max-width:100%}
.disclosure{padding:0!important;overflow:hidden}.disclosure>summary{list-style:none;min-height:64px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.disclosure>summary::-webkit-details-marker{display:none}.disclosure-label{flex:0 0 auto;color:var(--accent);font-size:12px;font-weight:800}.disclosure[open] .disclosure-label:before{content:'Ver menos';font-size:0}.disclosure[open] .disclosure-label{font-size:0}.disclosure[open] .disclosure-label:after{content:'Ver menos';font-size:12px}.disclosure-body{padding:0 18px 18px;border-top:1px solid var(--line)}.disclosure-body>p:first-child{margin-top:16px}.disclosure .support-reasons{padding-top:14px}
dialog{max-width:calc(100vw - 24px);max-height:min(88dvh,680px);overscroll-behavior:contain}dialog form{max-width:100%;overflow-x:hidden}.modal-content{overflow-wrap:anywhere}.modal-content p,.modal-content li{max-width:65ch}
.topbar,.bottom-nav{contain:layout paint}.bottom-nav button{overflow:hidden;text-overflow:ellipsis}.field input,.field textarea,.field select{font-size:16px}.btn,.icon-btn,.text-btn,.bottom-nav button,.tabs button,summary{min-height:44px}
@media(max-width:420px){.topbar{padding-inline:10px}.brand strong{font-size:14px}.brand small{font-size:8px}.brand-mark{width:36px;height:36px}.top-actions{gap:5px}.balance{padding-inline:7px}.bottom-nav{padding-inline:2px}.bottom-nav button{font-size:9px}.bottom-nav button span{font-size:18px}.mission{grid-template-columns:54px minmax(0,1fr)}.mission-art{width:54px;height:54px}.mission-state{grid-column:2;justify-self:start}.mission-action{grid-column:1/-1}.finance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* No component may create a horizontal page axis. */
.badge-strip{display:flex;flex-wrap:wrap;gap:10px;overflow:hidden;padding:3px 2px 10px}
.badge-chip{min-width:0;flex:1 1 92px;max-width:calc(33.333% - 7px)}
main,.page,.card,.topbar,.bottom-nav,.shared-chat-card,.shared-chat-frame,.raffle-history,.participation-list{width:100%;max-width:100%;min-width:0}
.page,.card,.message,.participation-card,p,small,strong,h1,h2{overflow-wrap:anywhere;word-break:break-word}
.bottom-nav{position:fixed!important;transform:none;overflow:hidden}
.participation-list{display:grid;gap:9px;margin-bottom:16px}
.participation-card{width:100%;border:1px solid var(--line);padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:inherit}
.participation-card span{min-width:0}.participation-card span:last-child{text-align:right}.participation-card strong,.participation-card small{display:block}.participation-card b{color:var(--accent);font-size:22px}

.live-offline .video-shell{aspect-ratio:auto;min-height:92px;max-height:110px}.live-offline .video-shell button{display:flex;align-items:center;gap:12px;text-align:left}.live-offline .video-shell button>*{margin:0}.live-offline .video-shell button span{font-size:25px}.live-offline .live-progress{padding:9px;margin:7px 0}.shared-chat-frame{height:min(70vh,560px)}
.shared-chat-card{contain:layout paint;overscroll-behavior:contain}.shared-chat-frame{height:clamp(440px,68svh,600px);overscroll-behavior:contain}.shared-chat-card.chat-collapsed{contain:none}@media(max-width:420px){.shared-chat-frame{height:clamp(450px,70svh,590px)}}
html.chat-keyboard-active,body.chat-keyboard-active{overscroll-behavior:none!important}.chat-keyboard-active .shared-chat-card{overscroll-behavior:none}.chat-keyboard-active .shared-chat-frame{touch-action:auto;overscroll-behavior:contain}
.profile-details{margin-top:12px}.profile-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:11px 13px;border-radius:12px;background:var(--surface2);color:var(--accent);font-weight:800}.profile-details summary:after{content:'Expandir'}.profile-details[open] summary:after{content:'Recolher'}.profile-details[open] summary{margin-bottom:13px}
.finance-tabs{grid-template-columns:repeat(3,1fr)}.period-filters{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.period-filters button{flex:1 1 72px;min-height:40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--muted)}.period-filters button.active{border-color:var(--accent);color:var(--accent);background:var(--glow)}.finance-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.finance-summary article{padding:12px 8px;border:1px solid var(--line);border-radius:13px;background:var(--surface);min-width:0}.finance-summary small,.finance-summary strong{display:block}.finance-summary strong{font-size:clamp(12px,3.7vw,17px);margin-top:5px}.finance-table-wrap{width:100%;overflow:hidden;border:1px solid var(--line);border-radius:13px}.finance-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:10px}.finance-table th,.finance-table td{padding:9px 5px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.finance-table th{color:var(--accent);background:var(--surface)}
.official-link{display:grid;place-items:center;color:var(--accent);text-decoration:none;font-size:20px}.badge-more{grid-column:1/-1}.badge-card small{display:block}.top-actions{min-width:0}.top-actions .balance{min-width:0}

/* Roleta v2: dez setores reais, renderizados apenas por CSS. */
.roulette-stage{padding:15px;border:2px solid #6d5725;background:radial-gradient(circle,#201b12 0 19%,#090b10 20% 58%,#302714 59% 67%,#090b10 68%);box-shadow:0 0 0 5px #11151d,0 18px 44px rgba(0,0,0,.55),0 0 45px var(--glow)}
.wheel{border:7px solid #b98a28;background:conic-gradient(from -18deg,#751d2c 0 36deg,#231018 36deg 72deg,#20293b 72deg 108deg,#101723 108deg 144deg,#174d42 144deg 180deg,#0d2925 180deg 216deg,#c28b22 216deg 252deg,#76510d 252deg 288deg,#7044a2 288deg 324deg,#3d235e 324deg 360deg);box-shadow:inset 0 0 0 4px #171a21,inset 0 0 32px rgba(0,0,0,.7),0 0 0 4px #43371f}
.wheel:before{inset:3%;border:4px dotted rgba(255,230,154,.8);filter:drop-shadow(0 0 4px var(--accent))}.wheel-label{left:50%;top:50%;width:44px;margin-left:-22px;text-align:center;font-size:clamp(9px,3vw,13px);transform:rotate(calc(var(--i)*36deg)) translateY(clamp(-143px,-30vw,-96px)) rotate(calc(var(--i)*-36deg));transform-origin:50% 50%;color:#fff}.wheel-label.jackpot{color:#fff0a7}.wheel-label.bank{font-size:clamp(7px,2.3vw,10px);color:#f4dcff}.wheel-center{inset:35%;background:radial-gradient(circle at 40% 30%,#343b4a,#0c0f16 70%);border-color:#d8aa43;color:var(--accent);text-shadow:0 0 12px var(--glow)}
.wheel-pointer{top:-8px;width:34px;height:48px;background:linear-gradient(90deg,#8d641a,#fff1a3 50%,#8d641a);filter:drop-shadow(0 4px 4px #000)}
.roulette-win{text-align:center;padding-top:8px}.roulette-win .win-symbol{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 14px;border-radius:50%;background:linear-gradient(145deg,var(--accent),var(--accent2));color:#17120a;font-size:38px;box-shadow:0 0 34px var(--glow)}
.spin-panel>.roulette-limit{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:0 0 14px}.roulette-limit span{display:grid;gap:3px;padding:9px 4px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025)}.roulette-limit small{font-size:8px;letter-spacing:.07em}.roulette-limit strong{font-size:13px}
.badge-card.locked{opacity:.78}.bottom-nav button[aria-current=page]{color:var(--accent)}
.profile-head.all-platforms .avatar{position:relative;border:2px solid #ffe37a;box-shadow:0 0 0 3px rgba(255,198,0,.18),0 0 24px rgba(255,198,0,.34)}.profile-head.all-platforms .avatar:after{content:'TODAS';position:absolute;right:-9px;bottom:-7px;padding:3px 5px;border-radius:7px;background:#17120a;color:#ffe37a;font-size:7px;letter-spacing:.08em}.profile-head [data-ftd-coverage]{display:block;margin-top:3px}
@media(prefers-reduced-motion:reduce){.wheel{will-change:auto}.roulette-stage{box-shadow:0 12px 28px rgba(0,0,0,.4)}}
.roulette-stage{width:100%;height:auto;min-height:0;max-width:380px;aspect-ratio:1/1;flex:0 0 auto}
.card{background:linear-gradient(145deg,rgba(24,24,24,.97),rgba(10,10,10,.97));box-shadow:0 14px 30px rgba(0,0,0,.24)}
.hero{min-height:230px;background-image:linear-gradient(90deg,rgba(0,0,0,.98) 0%,rgba(0,0,0,.86) 43%,rgba(0,0,0,.15) 75%),var(--hero-image);background-size:cover;background-position:center}
.hero>div{width:min(62%,390px)}.hero h1{font-size:clamp(25px,7vw,32px);text-wrap:balance}.hero p:not(.eyebrow){max-width:300px}.hero img{display:none}
.topbar,.bottom-nav{background:rgba(5,5,5,.94);border-color:color-mix(in srgb,var(--accent) 18%,transparent)}
.brand-mark{border:1px solid color-mix(in srgb,var(--accent) 70%,white);border-radius:14px}.balance,.icon-btn{background:#111;border-color:#393939}.quick-card,.mission-art,.streak-card{background:linear-gradient(145deg,#171717,#0b0b0b)}
.quick-card{position:relative;overflow:hidden}.quick-card:after{content:"";position:absolute;inset:auto -28px -36px auto;width:84px;height:84px;border:1px solid var(--accent);border-radius:50%;opacity:.12}.quick-icon,.reward,.streak-count{filter:drop-shadow(0 0 8px var(--glow))}
html[data-brand=rafa] .btn.primary{color:#fff}html[data-brand=rafa] .brand-mark{color:#fff}
@media(max-width:420px){.hero{min-height:218px;padding:18px;background-position:56% center}.hero>div{width:64%}.hero h1{font-size:24px}.hero p:not(.eyebrow){font-size:12px;line-height:1.4}.hero .btn{min-height:44px;padding-inline:14px}}
main{max-width:720px}
@media(max-width:480px){.topbar,.bottom-nav{backdrop-filter:none;background:#0b0d15}dialog::backdrop{backdrop-filter:none}}
body.session-loading>:not([data-auth-screen]){visibility:hidden}
.finance-chart{display:flex;align-items:end;gap:4px;min-height:120px;margin:12px 0;padding:10px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.finance-chart span{flex:1;min-width:3px;background:var(--accent);border-radius:4px 4px 0 0;opacity:.85}
.notification-btn{position:relative;font-size:21px}.notification-btn i{position:absolute;right:6px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--danger);border:2px solid #111;box-shadow:0 0 0 4px rgba(255,90,107,.14);animation:notification-pulse 1.4s ease-in-out infinite}.notification-btn i[hidden]{display:none}@keyframes notification-pulse{50%{transform:scale(1.25);box-shadow:0 0 0 8px rgba(255,90,107,0)}}
.bottom-nav [data-live-nav] b{display:block;font:inherit}.bottom-nav [data-live-nav].live-now{position:relative;color:#fff;background:linear-gradient(180deg,rgba(255,31,55,.34),rgba(122,0,16,.16));border-radius:11px;text-shadow:0 0 9px rgba(255,30,52,.75);animation:club-live-nav-pulse 1.35s ease-in-out infinite}.bottom-nav [data-live-nav].live-now span{color:#ff334d}.bottom-nav [data-live-nav].live-now:after{content:"";position:absolute;right:7px;top:5px;width:7px;height:7px;border-radius:50%;background:#ff2645;box-shadow:0 0 10px #ff2645}@keyframes club-live-nav-pulse{50%{background:linear-gradient(180deg,rgba(255,31,55,.5),rgba(122,0,16,.24))}}
.hero.hero-live{position:relative;overflow:hidden;border-color:#ff334d;background-image:linear-gradient(90deg,rgba(20,0,4,.98) 0%,rgba(45,0,8,.84) 48%,rgba(75,0,10,.22) 78%),var(--hero-image);box-shadow:0 0 0 1px rgba(255,44,70,.34),0 16px 42px rgba(170,0,24,.3)}.hero.hero-live:before{content:"AO VIVO";position:absolute;right:15px;top:15px;padding:7px 11px;border-radius:9px;background:#e5092f;color:#fff;font-size:11px;font-weight:950;letter-spacing:.09em;box-shadow:0 0 20px rgba(255,0,45,.65);animation:club-live-signal 1.25s ease-in-out infinite}.hero.hero-live [data-home-eyebrow]{color:#ff4960}.hero.hero-live .btn.primary{background:linear-gradient(135deg,#ff3651,#d30025);color:#fff;box-shadow:0 8px 26px rgba(255,0,42,.34)}@keyframes club-live-signal{50%{opacity:.72;box-shadow:0 0 7px rgba(255,0,45,.35)}}
.live-alert{text-align:center;padding-top:5px}.live-alert-signal{display:inline-flex;padding:7px 11px;border-radius:9px;background:#e5092f;color:#fff;font-size:11px;font-weight:950;letter-spacing:.08em;box-shadow:0 0 20px rgba(255,0,45,.5)}.live-alert-play{display:grid;place-items:center;width:82px;height:82px;margin:18px auto;border:2px solid #ff4058;border-radius:50%;background:radial-gradient(circle,#f32243,#760014);color:#fff;font-size:31px;box-shadow:0 0 0 9px rgba(255,24,55,.1),0 0 38px rgba(255,0,42,.4);animation:club-live-play 1.4s ease-in-out infinite}.live-alert .btn{margin-top:9px}@keyframes club-live-play{50%{transform:scale(1.045);box-shadow:0 0 0 15px rgba(255,24,55,0),0 0 50px rgba(255,0,42,.55)}}
@media(prefers-reduced-motion:reduce){.bottom-nav [data-live-nav].live-now,.hero.hero-live:before,.live-alert-play{animation:none}}
.mission-art{position:relative;overflow:hidden;padding:0!important;background:#090909!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.mission-art img{width:100%;height:100%;object-fit:cover;display:block}.mission-art span{position:absolute;left:5px;bottom:5px;width:26px;height:26px;display:grid;place-items:center;border-radius:9px;background:rgba(0,0,0,.72);color:#fff;font-size:17px;text-shadow:0 2px 5px #000}
.draw-hero{padding:0 0 20px;overflow:hidden}.draw-art{height:190px;background-image:linear-gradient(180deg,transparent 45%,rgba(14,17,27,.98)),var(--raffle-art);background-size:cover;background-position:center}.draw-cover{padding:0 20px;margin-top:-38px;position:relative}.raffle-countdown{display:inline-flex;margin-top:7px;padding:7px 10px;border-radius:10px;background:var(--glow);color:var(--accent);font-size:12px;letter-spacing:.04em}.support-donation form>.file-btn{margin-bottom:14px}.support-donation form>.btn.primary{margin-top:4px}
.open-raffle-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px 14px 0;background:var(--surface)}.open-raffle-option{min-width:0;min-height:76px;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--surface2);color:var(--text);text-align:left;touch-action:manipulation}.open-raffle-option strong,.open-raffle-option span,.open-raffle-option small{display:block;overflow-wrap:anywhere}.open-raffle-option span{margin-top:4px;color:var(--accent);font-size:12px;font-weight:900}.open-raffle-option small{margin-top:3px;color:var(--muted)}.open-raffle-option.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 20px var(--glow)}.raffle-empty{grid-column:1/-1;margin:0;color:var(--muted)}@media(max-width:340px){.open-raffle-options{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.notification-btn i{animation:none}}
@media(max-width:360px){.topbar{padding-inline:7px}.top-actions{gap:4px}.brand{gap:6px}.brand>span:last-child{max-width:70px}.brand strong{font-size:12px}.balance{padding-inline:6px}.balance small{display:none}}

/* Modal sem formulários aninhados e roleta geometricamente circular em qualquer viewport. */
dialog .modal-shell{position:relative;padding:23px;max-width:100%;overflow-x:hidden}
.roulette-stage{display:grid!important;place-items:center;width:min(100%,380px)!important;height:auto!important;max-width:380px;aspect-ratio:1/1!important;border-radius:50%!important;overflow:visible}
.roulette-stage .wheel{display:block;width:100%!important;height:auto!important;aspect-ratio:1/1!important;border-radius:50%!important;flex:none}
.roulette-stage .wheel{contain:layout paint style;transform:translate3d(0,0,0) rotate(0deg);backface-visibility:hidden;perspective:1000px;transform-style:flat}
.roulette-stage .wheel.is-spinning{box-shadow:inset 0 0 0 4px #171a21,0 0 0 4px #43371f}
.roulette-stage .wheel.is-spinning:before{filter:none;text-shadow:none}
.roulette-stage .wheel.is-spinning .wheel-label,.roulette-stage .wheel.is-spinning .wheel-center{text-shadow:none}
@media(prefers-reduced-motion:reduce){.roulette-stage .wheel{transition-duration:1.4s!important}.roulette-stage .wheel.is-spinning{will-change:transform!important}}

/* QA mobile/a11y: alvos confortáveis e leitura estável sem ampliar o bundle. */
.mission p{font-size:12px;line-height:1.5}.mission-action .btn{min-height:44px}
.topbar .brand{min-height:44px}.bottom-nav button{font-size:10px}
@media(max-width:340px){.bottom-nav button{font-size:9px}}
.topbar{height:calc(68px + var(--safe-top));padding-top:calc(10px + var(--safe-top))}.connection{top:calc(68px + var(--safe-top))}
.auth-screen{padding-top:calc(18px + var(--safe-top));padding-bottom:calc(18px + var(--safe-bottom))}

/* Correções mobile: controles nativos não podem ultrapassar o card. */
.field,.support-form,.profile-details{min-width:0;max-width:100%}
.field input[type=date]{display:block;inline-size:100%;min-inline-size:0;max-inline-size:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}
.page-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0 0 12px;padding:8px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface2);color:var(--text);font:inherit;font-weight:800;touch-action:manipulation}
.terms-details{margin:14px 0}.terms-details summary{display:flex;align-items:center;color:var(--accent);font-weight:800;cursor:pointer}.terms-copy{max-height:38vh;overflow:auto;overflow-wrap:anywhere;white-space:normal;color:var(--muted);line-height:1.55}
[data-required-terms] .btn{margin-top:10px}
dialog:has([data-required-terms]) .modal-close{display:none}
.purchase-detail-list{display:grid;gap:8px;margin:14px 0}.purchase-detail{display:grid;gap:4px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface2)}.purchase-detail span{color:var(--accent);font-weight:800}.purchase-detail small{overflow-wrap:anywhere}
.ticket-unread{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}.ticket-new-reply{display:inline-flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--accent);font-size:12px;font-weight:900;text-transform:uppercase}.ticket-new-reply i{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.ticket-message{padding:12px 0;border-bottom:1px solid var(--line)}.ticket-message p{margin:6px 0}.ticket-attachment{display:block;width:100%;max-height:320px;object-fit:contain;margin:10px 0;border:1px solid var(--line);border-radius:12px;background:#090d16}
/* Separa visualmente os seletores da arte do sorteio. */
.open-raffle-options{position:relative;z-index:2;padding:14px!important;margin-bottom:12px;background:var(--surface)}
/* Live do Clube: mesmas proporções e densidade visual da live oficial. */
.video-shell{position:sticky;top:env(safe-area-inset-top,0px);z-index:4;width:100%;max-width:100%;contain:layout paint}.video-shell iframe{display:block!important;width:100%!important;max-width:100%!important;height:100%!important;overflow:hidden!important}.played-games .section-title{align-items:center}.games-visibility-toggle{min-width:82px}.played-games-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.played-games-grid[hidden]{display:none}.played-game{min-width:0;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;padding:7px;text-align:center;border:1px solid var(--line);border-radius:12px;background:var(--surface2);overflow:hidden}.played-game img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:9px}.played-game h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.3em;margin:1px 0 0;font-size:clamp(10px,2.8vw,13px);line-height:1.15}.played-game .game-rtp{color:#37e889;font-size:clamp(15px,4vw,19px);font-weight:950;line-height:1}.played-game small{color:var(--accent);font-size:9px;line-height:1.1}@media(max-width:340px){.played-games-grid{gap:5px}.played-game{padding:5px}}
