﻿:root {
  --bg:#fff;
  --text:#000;
  --accent:#ff3b30;
  --line:#000;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%}
body{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.05;
  -webkit-font-smoothing:antialiased;
  position:relative;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:repeating-linear-gradient(90deg,transparent 0,transparent 54px,rgba(0,0,0,.035) 54px,rgba(0,0,0,.035) 55px);
}
body::after{
  content:"";position:fixed;right:-14vw;top:-14vw;width:42vw;height:42vw;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(255,59,48,.18),rgba(255,59,48,0));
  animation:pulse-orb 4.2s ease-in-out infinite alternate;
}
.mobile-orb{
  position:fixed;left:0;top:0;width:26vw;height:26vw;min-width:120px;min-height:120px;max-width:220px;max-height:220px;
  border-radius:50%;pointer-events:none;z-index:0;transform:translate(-9999px,-9999px);
  transition:transform 2.6s cubic-bezier(.22,1,.36,1);
  background:radial-gradient(circle,rgba(255,59,48,.22),rgba(255,59,48,.05) 50%,rgba(255,59,48,0) 72%);
}

.app{max-width:1200px;margin:0 auto;min-height:100vh;padding:1rem;border-top:10px solid var(--accent);position:relative;z-index:1}
.topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.brand-title{
  display:inline-block;position:relative;
  font-size:clamp(2rem,12vw,7rem);font-weight:900;letter-spacing:-.04em;text-transform:uppercase;line-height:.86;
}
.brand-title::after{content:"";display:block;height:8px;width:100%;margin-top:.18em;background:linear-gradient(90deg,var(--accent),#000);animation:line-reveal .7s cubic-bezier(.22,1,.36,1)}

.screen{display:none;border:3px solid var(--line);padding:1rem;background:linear-gradient(180deg,#fff,#fcfcfc)}
.screen.active{display:block;animation:screen-in .32s cubic-bezier(.2,.7,.2,1)}

.intro-title{font-size:clamp(1.4rem,8vw,3rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}
.intro-copy{font-size:1rem;line-height:1.35;max-width:62ch;margin-bottom:.75rem}
.intro-secondary-links{margin-top:.55rem;display:grid;gap:.35rem;justify-items:start}
.intro-skip{margin-top:0}
.intro-secondary-btn{
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.01em;
  padding:.42rem .68rem;
  border-width:1px;
  opacity:.9;
}
.intro-secondary-btn:hover{opacity:1}

.quiz-layout{display:grid;gap:1rem}
.quiz-main{border:2px solid var(--line);padding:.9rem}
.meta-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:1rem;font-weight:700;margin-bottom:.8rem}
.progress-track{height:12px;border:2px solid var(--line);background:#fff}
.progress-track span{
  display:block;height:100%;width:0;
  background:repeating-linear-gradient(-45deg,var(--accent) 0,var(--accent) 10px,#ff6d65 10px,#ff6d65 20px);
  background-size:26px 26px;animation:move-stripes 1s linear infinite;transition:width .22s ease;
}
.lifelines{margin-top:.8rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.hint{margin-top:.7rem;border:2px solid var(--line);padding:.6rem;font-size:.92rem;line-height:1.3}
.hidden{display:none}
.question-shell{margin-top:.9rem;border:2px solid var(--line);padding:.9rem}
.difficulty{margin-bottom:.5rem;text-transform:uppercase;font-size:.85rem;font-weight:700;letter-spacing:.08em;color:var(--accent)}
#questionText{font-size:clamp(1.2rem,7vw,2.8rem);font-weight:900;letter-spacing:-.025em;line-height:.95}
.options{margin-top:.8rem;display:grid;gap:.5rem}
.option{
  text-align:left;border:2px solid var(--line);background:#fff;color:var(--text);padding:.75rem;font-size:1rem;font-weight:700;cursor:pointer;
  transition:background-color .14s ease,color .14s ease,transform .12s ease,box-shadow .12s ease;
}
.option:hover{background:#f7f7f7;transform:translate(-2px,-2px);box-shadow:4px 4px 0 #000}
.option.selected{background:#000;color:#fff}
.option.correct{background:#0f9a5f;color:#fff;border-color:#0f9a5f}
.option.wrong{background:var(--accent);color:#fff;border-color:var(--accent)}
.option.removed{display:none}

.action-row,.cta-row{margin-top:.8rem;display:flex;flex-wrap:wrap;gap:.5rem}
.ladder-card{border:2px solid var(--line);padding:.8rem}
.ladder-title{text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;margin-bottom:.6rem;font-weight:700}
.ladder-list{list-style:none;display:grid;gap:.45rem}
.ladder-item{border:2px solid var(--line);padding:.45rem .55rem;display:flex;justify-content:space-between;gap:.4rem;font-size:.86rem}
.ladder-item.current{border-color:var(--accent)}
.ladder-item.answered-correct{background:#0f9a5f;border-color:#0f9a5f;color:#fff}
.ladder-item.answered-wrong{background:var(--accent);border-color:var(--accent);color:#fff}

.result-panel{border:2px solid var(--line);padding:.9rem}
#resultTitle{font-size:clamp(1.4rem,8vw,3rem);font-weight:900;letter-spacing:-.03em;line-height:.95}
.result-subtitle{margin-top:.5rem;font-size:1rem;line-height:1.3}
.result-stats{margin-top:.8rem;display:grid;gap:.5rem}
.stat{border:2px solid var(--line);padding:.6rem}
.stat p{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.2rem}
.stat strong{font-size:1.25rem;font-weight:900}
.summary{margin-top:.8rem;border:2px solid var(--line);padding:.7rem;line-height:1.35}
.summary ul{margin:.4rem 0 0 1rem}
.summary li{margin-bottom:.35rem}

.btn{
  border:2px solid var(--line);background:#fff;color:var(--text);padding:.62rem .82rem;font-size:.94rem;font-weight:800;letter-spacing:-.01em;
  cursor:pointer;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease,color .12s ease,border-color .12s ease;
}
.btn:hover{background:#f7f7f7;transform:translate(-2px,-2px);box-shadow:4px 4px 0 #000}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.primary{background:#000;color:#fff}
.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.giant{width:60%;max-width:100%;justify-content:center;font-size:1rem;padding:.8rem}
.btn.link{display:inline-flex;align-items:center}

@keyframes screen-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes line-reveal{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes move-stripes{from{background-position:0 0}to{background-position:26px 0}}
@keyframes pulse-orb{from{transform:scale(.9);opacity:.55}to{transform:scale(1.08);opacity:.9}}

@media (max-width:859px){
  .app{padding:.75rem;border-top-width:6px}
  .screen{border:0;padding:0;background:transparent}
  .quiz-main,.ladder-card,.result-panel{border:0;padding:0;background:transparent}
  .progress-track,.hint,.question-shell,.stat,.summary{border:1px solid rgba(0,0,0,.2);border-radius:14px;background:rgba(255,255,255,.78)}
  .progress-track{border-radius:999px;overflow:hidden}
  .question-shell{padding:.8rem}
  .btn,.option,.ladder-item{border-width:1px;border-color:rgba(0,0,0,.24);border-radius:12px;box-shadow:none}
  .btn:hover,.option:hover{transform:none;box-shadow:none}
  .option{background:rgba(255,255,255,.86)}
  .option.selected{background:#141414;color:#fff}
  .ladder-item{background:rgba(255,255,255,.82)}
  .ladder-item.current{background:rgba(255,59,48,.08)}
  .btn.giant{width:60%}
  .cta-row .btn{width:100%;justify-content:center}
}

@media (min-width:860px){
  html,body{height:100%}
  body{overflow:hidden}
  .app{height:100vh;min-height:100vh;display:flex;flex-direction:column;padding:1.25rem 2rem 1rem}
  main{flex:1;min-height:0;display:flex}
  .topbar{margin-bottom:.75rem;align-items:center;flex-shrink:0}
  .brand-title{font-size:clamp(1.8rem,calc(4vw + 1vh),4.6rem);line-height:.88}
  .screen{flex:1;min-height:0;width:100%;padding:.9rem;overflow:hidden}
  .screen.active{display:flex;flex-direction:column}
  #screen-intro.active,#screen-result.active{justify-content:center}
  .intro-title{font-size:clamp(1.3rem,calc(2.2vw + .6vh),2.5rem);margin-bottom:.65rem}
  .intro-copy{font-size:clamp(.92rem,calc(1vw + .2vh),1.02rem);margin-bottom:.55rem;max-width:64ch}
  .intro-secondary-links{margin-top:.45rem}
  .btn.giant{width:60%}
  .quiz-layout{grid-template-columns:1fr 290px;align-items:stretch;height:100%;min-height:0}
  .quiz-main{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;min-height:0}
  .meta-row{margin-bottom:.55rem}
  .lifelines{margin-top:.55rem}
  .hint{margin-top:.55rem}
  .question-shell{margin-top:.65rem;min-height:0;overflow:auto}
  #questionText{font-size:clamp(1.15rem,calc(1.85vw + .4vh),2.1rem)}
  .options{grid-template-columns:1fr 1fr}
  .action-row{margin-top:.65rem}
  .ladder-card{min-height:0;overflow:auto}
  .result-panel{min-height:0;overflow:auto}
  .result-stats{grid-template-columns:1fr 1fr 1fr}
  .mobile-orb{display:none}
}
