@charset "UTF-8";

:root{
  --bg:#100f13;
  --panel:#19171e;
  --panel2:#211e27;
  --text:#f6f1ea;
  --muted:#aaa1b3;
  --accent:#ffb000;
  --accent2:#ff5b3d;
  --ok:#9cf06f;
  --line:rgba(255,255,255,.10);
  --shadow:0 30px 80px rgba(0,0,0,.45);
  --radius:28px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  touch-action:manipulation;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,91,61,.11), transparent 30%),
    radial-gradient(circle at 85% 20%, rgba(255,176,0,.08), transparent 35%),
    linear-gradient(180deg,#0e0d11 0%,#131117 100%);
  color:var(--text);
  overflow-x:hidden;
}

button,input{font:inherit}
button{cursor:pointer}
a{color:inherit}
img{max-width:100%;display:block}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

.bg-noise{
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.055;
  background-image:url("../img/noise.svg");
  background-size:180px;
  z-index:-1;
}

.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.topbar{
  width:min(1180px,calc(100% - 28px));
  margin:0 auto;
  padding:20px 0 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-weight:800;
  letter-spacing:.02em;
}

.brand-mark{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#16120d;
  box-shadow:0 10px 30px rgba(255,91,61,.2);
}

.icon-btn{
  width:42px;
  height:42px;
  border:1px solid var(--line);
  color:var(--text);
  border-radius:13px;
  background:rgba(255,255,255,.045);
}

.icon-btn[aria-pressed="false"]{
  opacity:.45;
}

.app-shell{
  width:min(1180px,calc(100% - 28px));
  margin:22px auto 0;
}

.screen{display:none}
.screen.is-active{display:block;animation:fadeUp .34s ease both}

@keyframes fadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

.hero-card,
.result-card,
.error-card{
  border:1px solid var(--line);
  background:linear-gradient(145deg,rgba(31,28,36,.96),rgba(21,19,25,.98));
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.hero-card{
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
}

.hero-visual{
  position:relative;
  min-height:560px;
  background:
    radial-gradient(circle at 50% 42%, rgba(255,176,0,.18), transparent 37%),
    linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0));
  display:grid;
  place-items:center;
  padding:35px;
  overflow:hidden;
}

.hero-visual::after{
  content:"";
  position:absolute;
  width:70%;
  height:18px;
  bottom:12%;
  left:15%;
  border-radius:50%;
  background:rgba(0,0,0,.42);
  filter:blur(14px);
}

.hero-main{
  width:min(520px,95%);
  position:relative;
  z-index:1;
  filter:drop-shadow(0 28px 40px rgba(0,0,0,.34));
}

.hero-rabbit{
  position:absolute;
  z-index:2;
  width:min(215px,36%);
  filter:drop-shadow(0 22px 34px rgba(0,0,0,.38));
  pointer-events:none;
}

.rabbit-left{
  left:2%;
  bottom:3%;
  transform:rotate(-8deg);
}

.rabbit-right{
  right:1%;
  top:8%;
  width:min(205px,34%);
  transform:rotate(6deg);
}

.hero-copy{
  padding:clamp(34px,5vw,74px);
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.eyebrow{
  color:var(--accent);
  font-size:.78rem;
  letter-spacing:.16em;
  font-weight:900;
}

h1{
  margin:12px 0 14px;
  font-size:clamp(3rem,7vw,6.3rem);
  line-height:.9;
  letter-spacing:-.07em;
  max-width:700px;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.lead{
  color:#d7d0da;
  font-size:clamp(1rem,1.7vw,1.18rem);
  line-height:1.7;
  max-width:650px;
}

.mini-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:28px 0;
}

.mini-stats div{
  padding:15px 14px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.035);
}

.mini-stats strong{
  display:block;
  font-size:1.35rem;
  color:var(--accent);
}

.mini-stats span{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:.78rem;
}

.name-label{
  display:block;
  font-weight:800;
  font-size:.88rem;
  margin-bottom:8px;
}

.name-label span{
  display:block;
  font-weight:500;
  color:var(--muted);
  margin-top:3px;
  font-size:.76rem;
}

.text-input{
  width:100%;
  padding:15px 16px;
  color:var(--text);
  background:#121015;
  border:1px solid var(--line);
  border-radius:15px;
  outline:none;
  margin-bottom:14px;
}

.text-input:focus{
  border-color:rgba(255,176,0,.55);
  box-shadow:0 0 0 4px rgba(255,176,0,.08);
}

.primary-btn,
.ghost-btn,
.text-btn,
.answer-btn{
  border:0;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,opacity .18s ease;
}

.primary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:54px;
  padding:0 20px;
  border-radius:16px;
  background:linear-gradient(135deg,var(--accent),#ff7d33);
  color:#18120b;
  font-weight:950;
  box-shadow:0 14px 32px rgba(255,139,37,.18);
}

.primary-btn:hover{transform:translateY(-2px)}
.primary-btn:active{transform:translateY(0)}

.fine-print{
  color:#837b88;
  font-size:.73rem;
  line-height:1.5;
  margin:12px 0 0;
}

.quiz-wrap{
  width:min(840px,100%);
  margin:38px auto;
}

.progress-head{
  margin-bottom:18px;
}

.progress-head>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  color:var(--muted);
  font-size:.9rem;
  margin-bottom:9px;
}

.progress-head strong{color:var(--accent)}
.progress-track{
  height:8px;
  background:rgba(255,255,255,.07);
  border-radius:999px;
  overflow:hidden;
}

.progress-bar{
  height:100%;
  width:0;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  border-radius:inherit;
  transition:width .28s ease;
}

.question-card{
  padding:clamp(22px,5vw,46px);
  background:linear-gradient(145deg,rgba(31,28,36,.97),rgba(20,18,24,.98));
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.category-pill{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:0 11px;
  border-radius:999px;
  background:rgba(255,176,0,.1);
  border:1px solid rgba(255,176,0,.25);
  color:#ffd27a;
  font-weight:850;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.question-card h2{
  margin:18px 0 30px;
  font-size:clamp(1.55rem,4vw,2.7rem);
  line-height:1.14;
  letter-spacing:-.035em;
}

.answers{
  display:grid;
  gap:12px;
}

.answer-btn{
  width:100%;
  padding:14px;
  display:flex;
  align-items:center;
  gap:14px;
  text-align:left;
  color:var(--text);
  background:rgba(255,255,255,.035);
  border:1px solid var(--line);
  border-radius:18px;
}

.answer-btn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,176,0,.42);
  background:rgba(255,176,0,.055);
}

.answer-btn.is-selected{
  border-color:rgba(255,176,0,.74);
  background:rgba(255,176,0,.11);
}

.answer-score{
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#121015;
  border:1px solid var(--line);
  color:var(--accent);
  font-weight:950;
}

.answer-btn strong,
.answer-btn small{display:block}
.answer-btn strong{font-size:1rem}
.answer-btn small{
  color:var(--muted);
  margin-top:3px;
  font-size:.78rem;
}

.quiz-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:24px;
}

.ghost-btn{
  min-height:48px;
  padding:0 16px;
  border-radius:14px;
  color:var(--text);
  background:rgba(255,255,255,.045);
  border:1px solid var(--line);
  font-weight:800;
}

.ghost-btn:disabled{
  opacity:.32;
  cursor:not-allowed;
}

.text-btn{
  color:var(--muted);
  background:transparent;
  padding:10px;
  font-weight:750;
}

.result-card{
  width:min(820px,100%);
  margin:40px auto;
  padding:clamp(28px,6vw,62px);
  text-align:center;
}

.result-name{
  color:var(--muted);
  margin:14px 0 0;
  font-weight:750;
}

.result-card h2{
  margin:10px auto 14px;
  max-width:700px;
  font-size:clamp(2rem,5vw,4.3rem);
  line-height:.96;
  letter-spacing:-.055em;
}

.result-subtitle{
  max-width:650px;
  margin:0 auto;
  color:#d3ccd6;
  line-height:1.65;
}

.meter{
  display:grid;
  place-items:center;
  margin:32px 0;
}

.meter-ring{
  --pct:0;
  width:220px;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(var(--accent2) calc(var(--pct) * 1%), rgba(255,255,255,.075) 0);
  position:relative;
}

.meter-ring::before{
  content:"";
  width:170px;
  aspect-ratio:1;
  border-radius:50%;
  background:#17141c;
  box-shadow:inset 0 0 0 1px var(--line);
}

.meter-center{
  position:absolute;
  display:grid;
  text-align:center;
}

.meter-center strong{
  font-size:2.45rem;
  letter-spacing:-.05em;
}

.meter-center span{
  color:var(--muted);
  font-size:.74rem;
}

.result-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:0 auto 24px;
}

.result-stat{
  padding:16px 12px;
  border:1px solid var(--line);
  border-radius:17px;
  background:rgba(255,255,255,.035);
}

.result-stat span{
  color:var(--muted);
  display:block;
  font-size:.75rem;
}

.result-stat strong{
  display:block;
  margin-top:5px;
  font-size:1.08rem;
}

.result-comment{
  text-align:left;
  margin:24px 0;
  padding:20px;
  border-left:4px solid var(--accent);
  border-radius:8px 16px 16px 8px;
  background:rgba(255,176,0,.065);
  color:#e8e0e9;
  line-height:1.7;
}

.result-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}

.copy-status{
  min-height:22px;
  color:var(--ok);
  font-size:.8rem;
}

.error-card{
  width:min(680px,100%);
  margin:60px auto;
  padding:clamp(28px,6vw,50px);
  text-align:center;
}

.error-card h2{font-size:clamp(1.6rem,4vw,2.5rem)}
.error-card p{color:var(--muted);line-height:1.65}

.footer{
  width:min(1180px,calc(100% - 28px));
  margin:28px auto 0;
  padding:22px 0 36px;
  text-align:center;
  color:#736c7a;
  font-size:.74rem;
  line-height:1.6;
}

.footer p{margin:3px 0}
.footer a{color:#9890a1;text-underline-offset:3px}

@media (max-width:860px){
  .hero-card{grid-template-columns:1fr;min-height:auto}
  .hero-visual{min-height:360px;padding:22px 20px 8px}
  .hero-main{width:min(390px,82%)}
  .hero-rabbit{width:min(150px,30%)}
  .rabbit-left{left:1%;bottom:0;transform:rotate(-10deg)}
  .rabbit-right{right:0;top:5%;width:min(145px,29%);transform:rotate(8deg)}
  .hero-copy{padding:30px 24px 34px}
  h1{font-size:clamp(2.4rem,9vw,4.2rem);line-height:.92;letter-spacing:-.06em}
  .mini-stats{grid-template-columns:1fr 1fr 1fr}
}

@media (max-width:560px){
  .topbar{padding-top:14px}
  .app-shell{margin-top:12px}
  .hero-card,.question-card,.result-card,.error-card{border-radius:22px}
  .hero-visual{min-height:235px;padding:18px 14px 0;overflow:hidden}
  .hero-main{width:min(280px,72%)}
  .hero-rabbit{width:min(98px,24%)}
  .rabbit-left{left:-1%;bottom:-3px;transform:rotate(-12deg)}
  .rabbit-right{right:-1%;top:9%;width:min(96px,23%);transform:rotate(7deg)}
  .hero-copy{padding:24px 16px 28px}
  h1{font-size:clamp(2rem,8vw,3rem);line-height:.96;letter-spacing:-.045em}
  .lead{font-size:1rem;line-height:1.55}
  .mini-stats{grid-template-columns:1fr}
  .question-card{padding:22px 16px}
  .question-card h2{font-size:1.55rem}
  .answer-btn{padding:12px 11px}
  .answer-btn small{font-size:.73rem}
  .result-grid{grid-template-columns:1fr}
  .meter-ring{width:190px}
  .meter-ring::before{width:145px}
  .result-actions{flex-direction:column}
  .result-actions .primary-btn,.result-actions .ghost-btn{width:100%}
}
