:root{
  --qd-bg:#040b1b;--qd-bg2:#071426;--qd-panel:rgba(13,29,54,.88);--qd-panel2:rgba(7,20,38,.92);
  --qd-line:rgba(118,158,222,.28);--qd-text:#f8fbff;--qd-muted:#a9c1df;
  --qd-blue:#3278ff;--qd-purple:#7b3ff2;--qd-green:#13c58b;--qd-cyan:#42d7ff;
  --qd-gold:#ffbd35;--qd-red:#ef5060;--qd-shadow:0 24px 70px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html{background:var(--qd-bg)}
body{
  color:var(--qd-text)!important;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  background:
   radial-gradient(circle at 12% 0%,rgba(50,120,255,.18),transparent 31%),
   radial-gradient(circle at 88% 8%,rgba(123,63,242,.16),transparent 28%),
   linear-gradient(145deg,#040b1b 0%,#07152a 52%,#06101f 100%)!important;
  background-attachment:fixed!important;
}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,#000,transparent 82%)}
button,a,.btn,input,select,textarea{transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease,background .17s ease}
button:hover,a.btn:hover,.btn:hover{transform:translateY(-1px)}
input,select,textarea{background:rgba(3,12,27,.72)!important;border:1px solid rgba(123,162,220,.35)!important;color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
input:focus,select:focus,textarea:focus{outline:none!important;border-color:var(--qd-cyan)!important;box-shadow:0 0 0 3px rgba(66,215,255,.12)!important}
.card,.panel,.quiz-card,.qwrap,.choice,.item,.account,.mode-card,.session,.progressCard,.stat,.feedback-card,.usage-stat,.summary-box,.dropzone{
  background:linear-gradient(145deg,rgba(18,39,72,.92),rgba(7,20,39,.9))!important;
  border:1px solid var(--qd-line)!important;border-radius:20px!important;box-shadow:0 18px 50px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
.btn,button[type=submit],.home-btn,a.button{border-radius:12px!important;font-weight:850!important;letter-spacing:.01em;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.btn.blue,.go,.resume,.host,button[type=submit]{background:linear-gradient(135deg,#2c75ff,#4169ed)!important}
.btn.purple,.admin{background:linear-gradient(135deg,#7d40f4,#5d31cf)!important}
.btn.green,.reveal,.button.resume{background:linear-gradient(135deg,#12c68b,#08a978)!important}
.btn.orange,.next{background:linear-gradient(135deg,#ffad28,#e58219)!important}
.btn.red,.exit,.delete,.finish{background:linear-gradient(135deg,#ef5060,#bd2e45)!important}
.muted,.mini,.subtitle,.small,.info,p{color:var(--qd-muted)}

/* Marca */
.brand h1,.qd-brand-title{font-weight:950!important;letter-spacing:-.03em}
.brand h1:before,.qd-logo:before{content:"Q";display:inline-grid;place-items:center;width:38px;height:38px;margin-right:11px;border:3px solid #367cff;border-radius:12px;color:#73a5ff;font-size:19px;box-shadow:10px 8px 0 -5px #743ee8;vertical-align:middle}

/* Landing */
.qd-landing{min-height:100vh;display:grid;place-items:center;padding:36px 20px}
.qd-landing-shell{width:min(1050px,100%);display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:stretch}
.qd-hero,.qd-access-card{border:1px solid var(--qd-line);border-radius:28px;background:linear-gradient(145deg,rgba(17,38,72,.92),rgba(6,18,35,.92));box-shadow:var(--qd-shadow)}
.qd-hero{padding:52px;position:relative;overflow:hidden}.qd-hero:after{content:"";position:absolute;width:330px;height:330px;right:-120px;bottom:-160px;border-radius:50%;background:radial-gradient(circle,rgba(66,215,255,.22),transparent 65%)}
.qd-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(80,137,255,.35);border-radius:999px;background:rgba(36,89,181,.18);color:#9dc3ff;font-weight:800;font-size:13px}
.qd-hero h1{font-size:clamp(42px,7vw,72px);line-height:.96;margin:26px 0 18px;letter-spacing:-.055em}.qd-hero h1 span{display:block;background:linear-gradient(90deg,#76a5ff,#9163ff,#43ddc0);-webkit-background-clip:text;color:transparent}
.qd-hero p{font-size:18px;line-height:1.65;max-width:640px}.qd-feature-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.qd-feature{padding:10px 13px;border-radius:12px;background:rgba(5,17,34,.7);border:1px solid rgba(121,158,213,.24);font-weight:750;color:#cfe2fb}
.qd-access{display:grid;gap:16px}.qd-access-card{padding:28px;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:space-between;min-height:220px;position:relative;overflow:hidden}.qd-access-card:before{content:"";width:68px;height:68px;border-radius:19px;background:linear-gradient(135deg,rgba(50,120,255,.28),rgba(123,63,242,.2));position:absolute;right:22px;top:22px}.qd-access-card.prof:after{content:"▶";position:absolute;right:43px;top:42px;color:#7cabff;font-size:25px}.qd-access-card.adm:after{content:"✦";position:absolute;right:42px;top:38px;color:#a981ff;font-size:29px}.qd-access-card h2{font-size:28px;margin:0 0 10px}.qd-access-card p{line-height:1.55;max-width:80%}.qd-access-card .qd-arrow{font-weight:900;color:#69e5c3;margin-top:18px}

/* Login */
.qd-login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.qd-login-shell{width:min(980px,100%);display:grid;grid-template-columns:1fr 430px;border:1px solid var(--qd-line);border-radius:28px;overflow:hidden;background:rgba(7,19,37,.92);box-shadow:var(--qd-shadow)}.qd-login-art{padding:52px;background:radial-gradient(circle at 20% 15%,rgba(51,121,255,.22),transparent 35%),linear-gradient(145deg,#10284e,#0a172c)}.qd-login-art h1{font-size:48px;line-height:1.02;margin:22px 0}.qd-login-art p{font-size:17px;line-height:1.65}.qd-login-points{display:grid;gap:12px;margin-top:30px}.qd-login-point{display:flex;gap:12px;align-items:center;padding:12px 14px;border:1px solid rgba(126,162,216,.22);border-radius:13px;background:rgba(5,15,31,.45)}.qd-login-form{padding:42px}.qd-login-form h2{font-size:30px;margin:0 0 8px}.qd-login-form label{font-weight:800}.qd-login-form input{padding:14px!important}.qd-login-form button{width:100%;padding:15px!important;margin-top:18px}.qd-back{display:inline-block;margin-top:18px;color:#9ec5ff;text-decoration:none}

/* Admin */
.app{background:transparent!important}.sidebar{background:rgba(5,16,32,.9)!important;backdrop-filter:blur(18px);border-right:1px solid var(--qd-line)!important}.home-btn{background:linear-gradient(135deg,rgba(50,120,255,.24),rgba(123,63,242,.2))!important;border-color:rgba(92,145,232,.45)!important}.side-action{background:rgba(14,31,58,.85)!important}.main{position:relative}.topbar{padding:4px 0 12px}.title h2,.heading h2{letter-spacing:-.035em}.dashboard .card{position:relative;overflow:hidden}.dashboard .card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;bottom:-55px;background:radial-gradient(circle,rgba(87,142,255,.18),transparent 67%)}.card .icon{width:64px;height:64px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,rgba(61,124,255,.25),rgba(128,62,239,.18));font-size:31px!important}.choice b{display:inline-grid;width:58px;height:58px;place-items:center;border-radius:17px;background:linear-gradient(145deg,rgba(55,124,255,.23),rgba(123,63,242,.18));font-size:28px!important}.steps{padding:4px}.step-dot{height:9px!important;background:rgba(76,109,158,.32)!important}.step-dot.on{background:linear-gradient(90deg,#17c992,#44d8ff)!important;box-shadow:0 0 18px rgba(44,213,187,.28)}

/* Profesor setup */
.page{width:min(1040px,100%)!important}.page>.card:first-child{padding:30px!important}.page h1{font-size:34px;letter-spacing:-.035em}.mode-card{position:relative;overflow:hidden}.mode-card:after{content:"▶";position:absolute;right:24px;top:22px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:rgba(52,119,255,.17);color:#72a2ff}.sessionsToggle{background:linear-gradient(135deg,rgba(42,99,203,.28),rgba(116,62,218,.22))!important;border:1px solid rgba(95,147,237,.4)!important;border-radius:15px!important}.sessionsPanel{margin-top:12px!important}.session{box-shadow:none!important}.sessionButtons a,.sessionButtons button{min-width:112px}

/* Live */
.wrap{max-width:1500px!important}.hero{background:linear-gradient(145deg,rgba(16,37,70,.96),rgba(6,20,40,.94))!important;border:1px solid var(--qd-line)!important;border-radius:22px!important;box-shadow:var(--qd-shadow)!important}.code{background:linear-gradient(90deg,#7eb1ff,#5fe0c3);-webkit-background-clip:text;color:transparent!important}.chip{background:rgba(9,27,51,.85)!important;border:1px solid rgba(112,153,212,.32)!important}.questionCard{min-height:520px}.questionTitle{font-size:15px!important;text-transform:uppercase;letter-spacing:.12em;color:#80aefb!important}.questionText{font-size:clamp(27px,3vw,42px)!important;line-height:1.2!important;letter-spacing:-.025em}.bar{border-radius:16px!important;background:rgba(6,18,36,.83)!important;border:1px solid rgba(116,156,213,.25)!important}.fill{background:linear-gradient(90deg,rgba(48,117,255,.38),rgba(98,72,230,.28))!important}.finalRanking{padding:26px!important}.podium{align-items:end!important;gap:16px!important}.podiumCard{border-radius:22px!important;box-shadow:0 20px 45px rgba(0,0,0,.25)!important}.podiumCard.gold{background:linear-gradient(160deg,rgba(147,101,21,.64),rgba(44,29,8,.9))!important;border-color:rgba(255,198,73,.7)!important}.podiumCard.silver{background:linear-gradient(160deg,rgba(97,113,138,.62),rgba(25,34,49,.92))!important}.podiumCard.bronze{background:linear-gradient(160deg,rgba(141,73,30,.6),rgba(47,25,16,.92))!important}.rankingItem{border-radius:14px!important;background:rgba(7,20,39,.76)!important;border:1px solid rgba(111,151,210,.25)!important}

/* Alumno */
body>.card{box-shadow:var(--qd-shadow)!important}.opt{border-radius:16px!important;background:linear-gradient(145deg,rgba(11,30,56,.92),rgba(5,17,34,.92))!important;border:1px solid rgba(117,156,211,.3)!important;padding:17px!important}.opt:hover{border-color:#65a1ff!important;box-shadow:0 10px 24px rgba(0,0,0,.2)}.opt.selected{border-color:#36d7a5!important;background:linear-gradient(145deg,rgba(11,72,61,.68),rgba(6,40,39,.9))!important}.pill{background:rgba(9,27,51,.88)!important;border:1px solid rgba(116,156,213,.3)!important}

@media(max-width:850px){.qd-landing-shell,.qd-login-shell{grid-template-columns:1fr}.qd-hero{padding:34px}.qd-login-art{display:none}.qd-login-form{padding:30px}.qd-access-card{min-height:180px}}
