/* === RESET + VARS === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a0a08;
  --s1:#111110;
  --s2:#161614;
  --bd:rgba(255,255,255,.07);
  --bd2:rgba(255,255,255,.12);
  --bd3:rgba(255,255,255,.18);
  --tx:#f0ede6;
  --tx2:#6b6b67;
  --tx3:#9a9990;
  --ac:#07C42C;
  --ac-dim:rgba(7,196,44,.12);
  --ac-glow:rgba(7,196,44,.25);
  --ok:#07C42C;
  --ok-dim:rgba(7,196,44,.10);
  --warn:#f5c400;
  --warn-dim:rgba(245,196,0,.10);
  --bad:#ff5050;
  --bad-dim:rgba(255,80,80,.08);
  --mono:'JetBrains Mono',monospace;
  --r:8px;--rl:14px;
}
/* tema claro (assets/css/theme.css): nomes desta página → paleta compartilhada */
:root[data-theme="light"]{--s1:var(--bg2);--s2:var(--bg3)}
html{scrollbar-color:#2a2a28 var(--bg);scroll-behavior:smooth}
::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:color-mix(in srgb,#2a2a28 var(--dk),var(--bg4));border-radius:3px}
body{
  font-family:'Space Grotesk',system-ui,sans-serif;
  background:var(--bg);
  color:var(--tx);
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* === NAV === */
nav{position:sticky;top:0;z-index:200;background:rgba(var(--paper),.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--bd);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:56px;flex-shrink:0}
.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tx)}
.nav-logo img{width:32px;height:32px;border-radius:50%;box-shadow:0 0 14px rgba(7,196,44,calc(.45*var(--ga)))}
.nav-logo span{font-size:13px;font-weight:700}
.nav-links{display:flex;gap:22px;list-style:none}
.nav-links a{color:var(--fg-45);font-size:11px;font-weight:600;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}
.nav-links a:hover,.nav-links a.active{color:var(--ac-tx)}
.nav-badge{background:var(--ac-dim);border:1px solid rgba(7,196,44,.25);color:var(--ac-tx);font-size:9px;font-weight:700;letter-spacing:.1em;padding:2px 6px;border-radius:100px;text-transform:uppercase;margin-left:4px}
@media(max-width:768px){.nav-links{display:none}}

/* === TEST MODE BANNER === */
.test-banner{
  background:rgba(245,196,0,.08);border-bottom:1px solid rgba(245,196,0,.2);
  padding:7px 24px;display:none;align-items:center;gap:10px;
  font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb,#f5c400 var(--dk),#735C00);
}
.test-banner.on{display:flex}
.test-dot{width:7px;height:7px;border-radius:50%;background:#f5c400;animation:pulse-dot 1.5s ease infinite;flex-shrink:0}
@keyframes pulse-dot{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(245,196,0,calc(.4*var(--ga)))}50%{opacity:.6;box-shadow:0 0 0 5px rgba(245,196,0,calc(0*var(--ga)))}}

/* === SCREENS === */
.screen{display:none;min-height:calc(100vh - 56px);flex-direction:column}
.screen.active{display:flex}

/* === BG GRID DECORATION === */
.bg-grid{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(7,196,44,.015) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,196,44,.015) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,#000 20%,transparent 90%);
}

/* ================== INTRO ================== */
#s-intro{align-items:center;justify-content:center;padding:40px 20px;position:relative}

.intro-inner{
  max-width:500px;width:100%;
  position:relative;z-index:1;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}

.brand-tag{
  font-family:var(--mono);
  font-size:10px;color:var(--tx2);letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:32px;
}

.game-title{
  font-family:'Space Grotesk',sans-serif;
  font-size:clamp(72px,16vw,108px);
  font-weight:800;line-height:.95;
  letter-spacing:-.04em;
  margin-bottom:14px;
}
.game-title .ac{color:var(--ac-tx);text-shadow:0 0 40px var(--ac-glow)}

.game-sub{
  font-size:15px;color:var(--tx2);
  font-style:italic;margin-bottom:48px;line-height:1.5;
}

/* Challenge card on intro */
.challenge-card{
  width:100%;background:var(--s1);
  border:1px solid var(--bd2);border-left:3px solid var(--ac);
  border-radius:var(--rl);padding:20px 22px;text-align:left;margin-bottom:32px;
}
.cc-label{
  font-family:var(--mono);font-size:10px;
  color:var(--ac-tx);letter-spacing:.12em;margin-bottom:10px;
}
.cc-title{font-size:17px;font-weight:700;margin-bottom:14px;line-height:1.3}
.cc-meta{display:flex;gap:8px;flex-wrap:wrap}
.badge{
  font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  padding:4px 10px;border-radius:100px;
}
.badge-ac{background:var(--ac-dim);color:var(--ac-tx);border:1px solid rgba(7,196,44,.25)}
.badge-muted{background:rgba(var(--ink),.05);color:var(--tx2);border:1px solid var(--bd)}

/* Rules */
.rules{
  width:100%;display:flex;flex-direction:column;gap:10px;
  margin-bottom:36px;text-align:left;
}
.rule{
  display:flex;align-items:flex-start;gap:12px;
  font-size:13px;color:var(--tx2);line-height:1.4;
}
.rule-arrow{color:var(--ac-tx);flex-shrink:0;margin-top:1px}

.btn-start{
  width:100%;padding:17px;
  background:var(--ac);color:#0a0a08;
  font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
  border:none;border-radius:var(--r);cursor:pointer;
  transition:all .2s;
}
.btn-start:hover{
  opacity:.9;transform:translateY(-2px);
  box-shadow:0 10px 32px var(--ac-glow);
}

/* ================== VIDEO ================== */
#s-video{background:#000;justify-content:space-between;min-height:calc(100vh - 56px)}

.video-header{
  flex-shrink:0;
  padding:16px 20px 14px;
  background:rgba(var(--paper),.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--bd);
  display:flex;align-items:center;gap:16px;
}
.vh-label{
  font-family:var(--mono);font-size:10px;
  color:var(--ac-tx);letter-spacing:.12em;flex-shrink:0;
}
.vh-title{font-size:13px;color:var(--tx2);font-weight:600;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vh-dot{width:7px;height:7px;border-radius:50%;background:var(--bad);flex-shrink:0;animation:pulse-red 1.5s ease infinite}
@keyframes pulse-red{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(255,80,80,calc(.4*var(--ga)))}50%{opacity:.6;box-shadow:0 0 0 5px rgba(255,80,80,calc(0*var(--ga)))}}

.player-container{
  flex:1;display:flex;align-items:center;justify-content:center;
  background:#000;overflow:hidden;min-height:0;
}
.player-wrap{
  width:min(100%,calc((100vh - 220px)*16/9));
  aspect-ratio:16/9;position:relative;background:#000;
}
#yt-player{width:100%;height:100%;display:block;pointer-events:none}
.player-overlay{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  background:rgba(var(--paper),.55);
  transition:background .4s;
  cursor:default;
}
.player-overlay.transparent{background:transparent}

/* Placeholder para modo de teste (sem YouTube) */
.player-placeholder{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;background:var(--bg);
  text-align:center;padding:40px;
}
.ph-label{font-family:var(--mono);font-size:11px;color:color-mix(in srgb,var(--warn) var(--dk),#735C00);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.ph-title{font-size:18px;font-weight:700;color:var(--tx);margin-bottom:8px}
.ph-sub{font-size:13px;color:var(--tx2);line-height:1.6;max-width:360px}
.ph-timer{font-family:var(--mono);font-size:36px;font-weight:700;color:var(--ac-tx);margin:8px 0}

.play-btn{
  display:flex;align-items:center;gap:10px;
  background:var(--ac);color:#0a0a08;
  font-family:'Space Grotesk',sans-serif;font-size:14px;font-weight:800;
  padding:14px 28px;border:none;border-radius:var(--r);cursor:pointer;
  letter-spacing:.05em;transition:all .2s;
}
.play-btn:hover{transform:scale(1.05);box-shadow:0 8px 28px var(--ac-glow)}
.play-btn svg{flex-shrink:0}

.btn-skip-video{
  display:flex;align-items:center;gap:8px;
  background:rgba(245,196,0,.1);border:1px solid rgba(245,196,0,.3);
  color:color-mix(in srgb,#f5c400 var(--dk),#735C00);font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;
  padding:11px 22px;border-radius:var(--r);cursor:pointer;
  letter-spacing:.04em;transition:all .2s;margin-top:8px;
}
.btn-skip-video:hover{background:rgba(245,196,0,.18)}

.no-pause-warning{
  position:absolute;top:14px;right:14px;
  background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.3);
  border-radius:6px;padding:6px 12px;
  font-family:var(--mono);font-size:10px;color:color-mix(in srgb,var(--bad) var(--dk),#AB3636);
  letter-spacing:.06em;pointer-events:none;
  display:none;
}
.no-pause-warning.on{display:block;animation:flash-warn .3s ease}
@keyframes flash-warn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

.video-footer{
  flex-shrink:0;padding:14px 20px;
  background:rgba(var(--paper),.9);backdrop-filter:blur(10px);
  border-top:1px solid var(--bd);
}
.progress-bar{height:3px;background:rgba(var(--ink),.08);border-radius:3px;margin-bottom:10px;overflow:hidden}
.progress-fill{height:100%;background:var(--ac);border-radius:3px;width:0%;transition:width .5s linear}
.vid-notice{font-size:11px;color:var(--tx2);text-align:center;letter-spacing:.02em}

/* Rewatch controls */
.rewatch-bar{
  display:none;align-items:center;justify-content:space-between;
  padding:12px 20px;background:rgba(var(--paper),.95);border-top:1px solid var(--bd);
  flex-shrink:0;
}
.rewatch-bar.on{display:flex}
.rw-label{font-family:var(--mono);font-size:10px;color:var(--tx2);letter-spacing:.08em}
.btn-back-write{
  font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:700;
  background:var(--ac);color:#0a0a08;border:none;
  padding:9px 18px;border-radius:var(--r);cursor:pointer;letter-spacing:.04em;
  transition:all .15s;
}
.btn-back-write:hover{transform:translateY(-1px)}

/* ================== WRITE ================== */
#s-write{align-items:center;justify-content:flex-start;padding:48px 20px 80px;position:relative}

.write-inner{max-width:620px;width:100%;position:relative;z-index:1}

.write-header{margin-bottom:32px}
.wh-label{
  font-family:var(--mono);font-size:10px;
  color:var(--ac-tx);letter-spacing:.12em;margin-bottom:14px;display:block;
}
.wh-title{
  font-size:clamp(30px,6vw,42px);font-weight:800;
  line-height:1.1;margin-bottom:14px;letter-spacing:-.02em;
}
.wh-sub{font-size:14px;color:var(--tx2);line-height:1.65}
.wh-sub strong{color:var(--tx);font-weight:700}

#diagnostico{
  width:100%;min-height:220px;
  background:var(--s1);border:1px solid var(--bd2);border-radius:var(--rl);
  color:var(--tx);font-family:'Space Grotesk',sans-serif;font-size:15px;
  line-height:1.7;padding:16px 18px;resize:vertical;outline:none;
  transition:border-color .2s,box-shadow .2s;margin-bottom:14px;
}
#diagnostico:focus{border-color:rgba(7,196,44,.4);box-shadow:0 0 0 3px var(--ac-dim)}
#diagnostico::placeholder{color:var(--tx2);font-style:italic;font-size:14px}

.write-footer{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;
}
.word-count{
  font-family:var(--mono);font-size:12px;
  color:var(--tx2);transition:color .2s;flex:1;
}
.word-count.ok{color:color-mix(in srgb,var(--ok) var(--dk),#047019)}
.word-min{font-size:11px;color:var(--tx2)}

.btn-submit{
  padding:13px 22px;background:var(--ac);color:#0a0a08;
  font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;
  border:none;border-radius:var(--r);cursor:pointer;
  transition:all .2s;white-space:nowrap;
}
.btn-submit:disabled{opacity:.25;cursor:not-allowed;transform:none!important}
.btn-submit:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 22px var(--ac-glow)}

.btn-rewatch{
  width:100%;background:none;border:1px solid var(--bd2);border-radius:var(--r);
  color:var(--tx2);font-family:'Space Grotesk',sans-serif;font-size:12px;
  padding:11px 16px;cursor:pointer;transition:all .2s;text-align:center;
}
.btn-rewatch:hover{color:var(--tx);border-color:var(--bd3)}

/* ================== LOADING ================== */
#s-loading{align-items:center;justify-content:center;text-align:center;padding:40px}

.loading-inner{display:flex;flex-direction:column;align-items:center;gap:20px}

.spinner{
  width:44px;height:44px;
  border:2px solid rgba(7,196,44,.12);
  border-top-color:var(--ac);
  border-radius:50%;animation:spin .85s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

.ld-title{font-size:22px;font-weight:700;letter-spacing:-.01em}
.ld-sub{font-size:13px;color:var(--tx2);min-height:20px;transition:opacity .3s}

/* ================== RESULT ================== */
#s-result{align-items:center;justify-content:flex-start;padding:48px 20px 100px}

.result-inner{max-width:640px;width:100%}

/* Score hero */
.result-hero{
  text-align:center;padding-bottom:36px;margin-bottom:32px;
  border-bottom:1px solid var(--bd);
}
.rh-label{
  font-family:var(--mono);font-size:10px;
  color:var(--ac-tx);letter-spacing:.14em;margin-bottom:20px;display:block;
}
.score-display{
  font-family:var(--mono);
  font-size:clamp(80px,18vw,120px);font-weight:700;
  color:var(--ac-tx);line-height:1;letter-spacing:-.04em;
  margin-bottom:16px;
  text-shadow:0 0 60px var(--ac-glow);
}
.score-nivel{
  display:inline-block;
  background:var(--ac-dim);color:var(--ac-tx);
  border:1px solid rgba(7,196,44,.25);
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 18px;border-radius:100px;margin-bottom:18px;
}
.score-resumo{
  font-size:15px;color:var(--tx2);font-style:italic;line-height:1.6;
  max-width:460px;margin:0 auto;
}

/* Stats bar */
.result-stats{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:32px;
}
.stat{
  background:var(--s1);border:1px solid var(--bd);border-radius:var(--r);
  padding:14px 10px;text-align:center;
}
.stat-n{
  display:block;font-family:var(--mono);
  font-size:26px;font-weight:700;line-height:1;margin-bottom:6px;
  color:var(--tx2);
}
.stat-n.c-ok{color:color-mix(in srgb,var(--ok) var(--dk),#047019)}
.stat-n.c-warn{color:color-mix(in srgb,var(--warn) var(--dk),#735C00)}
.stat-n.c-bad{color:color-mix(in srgb,var(--bad) var(--dk),#AB3636)}
.stat-l{font-size:10px;color:var(--tx2);letter-spacing:.06em;text-transform:uppercase;display:block}

/* Result sections */
.res-section{margin-bottom:28px}
.rs-label{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;
  margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
.rs-label::after{content:'';flex:1;height:1px;background:var(--bd)}
.rs-ok{color:color-mix(in srgb,var(--ok) var(--dk),#047019)}
.rs-warn{color:color-mix(in srgb,var(--warn) var(--dk),#735C00)}
.rs-bad{color:color-mix(in srgb,var(--bad) var(--dk),#AB3636)}

.rs-item{
  display:flex;gap:14px;padding:14px 16px;
  border-radius:var(--r);margin-bottom:8px;border:1px solid;
  animation:fade-up .3s ease both;
}
@keyframes fade-up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.rs-item:nth-child(2){animation-delay:.06s}
.rs-item:nth-child(3){animation-delay:.12s}
.rs-item:nth-child(4){animation-delay:.18s}

.rs-item-ok{background:var(--ok-dim);border-color:rgba(7,196,44,.2)}
.rs-item-warn{background:var(--warn-dim);border-color:rgba(245,196,0,.2)}
.rs-item-bad{background:var(--bad-dim);border-color:rgba(255,80,80,.15)}

.rs-icon{
  font-family:var(--mono);font-size:14px;font-weight:700;
  flex-shrink:0;width:18px;padding-top:3px;line-height:1;
}
.rs-item-ok .rs-icon{color:color-mix(in srgb,var(--ok) var(--dk),#047019)}
.rs-item-warn .rs-icon{color:color-mix(in srgb,var(--warn) var(--dk),#735C00)}
.rs-item-bad .rs-icon{color:color-mix(in srgb,var(--bad) var(--dk),#AB3636)}

.rs-text{display:flex;flex-direction:column;gap:5px;min-width:0}
.rs-text strong{font-size:14px;font-weight:700;line-height:1.3}
.rs-text span{font-size:13px;color:var(--tx2);line-height:1.55}

/* Actions */
.result-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:36px;
}
.btn-again{
  padding:15px;background:var(--s1);color:var(--tx);
  border:1px solid var(--bd2);border-radius:var(--r);
  font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:all .2s;
}
.btn-again:hover{border-color:rgba(7,196,44,.4);color:var(--ac-tx)}
.btn-share{
  padding:15px;background:var(--ac);color:#0a0a08;border:none;
  border-radius:var(--r);font-family:'Space Grotesk',sans-serif;font-size:13px;
  font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;transition:all .2s;
}
.btn-share:hover{transform:translateY(-1px);box-shadow:0 8px 26px var(--ac-glow)}

/* Error toast */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(80px);
  background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.35);
  border-radius:var(--r);padding:12px 20px;font-size:13px;color:color-mix(in srgb,var(--bad) var(--dk),#AB3636);
  transition:transform .3s ease;z-index:999;white-space:nowrap;
  max-width:calc(100vw - 40px);text-align:center;
}
.toast.on{transform:translateX(-50%) translateY(0)}

/* Responsive */
@media(max-width:500px){
  .result-stats{grid-template-columns:repeat(2,1fr)}
  .result-actions{grid-template-columns:1fr}
  .video-header .vh-title{display:none}
}

/* AdSense */
.ad-slot{width:100%;text-align:center;overflow:hidden;}
.ad-slot ins{display:block;margin:0 auto;}
.ad-slot--between{margin:28px auto;}
