:root{--bg:#0a0a1a;--panel:#14142b;--panel-2:#1d1d3d;--border:#2c2c52;--text:#e8e8f0;--muted:#9a9ab8;--accent:#6c8cff;--accent-2:#46e0b0;--good:#37d67a;--bad:#ff5c72;--opt-0:#e6455e;--opt-1:#2f7bff;--opt-2:#f0a935;--opt-3:#2bb673;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text);background:linear-gradient(#0a0a1ad1, #0a0a1ad1), url(/assets/monestir-sant-cugat.jpg) center center / cover no-repeat fixed, var(--bg)}.credit{opacity:.7;margin-top:28px;font-size:12px}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 16px;font-weight:600;transition:filter .12s,transform 50ms}button:hover:not(:disabled){filter:brightness(1.1)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.ghost{background:var(--panel-2);color:var(--text);border:1px solid var(--border)}button.danger{background:var(--bad)}input,select{font:inherit;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;width:100%;padding:10px 12px}label{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.wrap{max-width:1000px;margin:0 auto;padding:24px}.center{place-items:center;min-height:100vh;padding:24px;display:grid}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.col{flex-direction:column;gap:12px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--muted)}.field{margin-bottom:14px}.err{color:var(--bad);margin-top:8px;font-size:14px}.pill{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;padding:4px 12px;font-size:13px}h1{margin-bottom:4px;font-size:28px}h2{margin-bottom:12px;font-size:20px}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:16px}.cards{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;display:grid}.card{text-align:center;padding:28px 20px}.card .big{margin-bottom:8px;font-size:40px}.options{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.opt{color:#fff;text-align:left;border:3px solid #0000;border-radius:14px;min-height:84px;padding:22px 18px;font-size:18px;font-weight:700}.opt-0{background:var(--opt-0)}.opt-1{background:var(--opt-1)}.opt-2{background:var(--opt-2)}.opt-3{background:var(--opt-3)}.opt.dim{opacity:.4}.opt.pick{outline:4px solid #fff}.opt.correct{box-shadow:0 0 0 4px var(--good);border-color:#fff}.dist{flex-direction:column;gap:10px;margin-top:12px;display:flex}.dist-row{align-items:center;gap:12px;display:flex}.dist-label{text-align:center;color:#fff;border-radius:8px;width:42px;padding:8px 0;font-weight:800}.dist-track{background:var(--panel-2);border-radius:8px;flex:1;height:34px;overflow:hidden}.dist-fill{align-items:center;height:100%;padding-left:10px;font-weight:700;transition:width .4s;display:flex}.dist-count{text-align:right;width:40px;font-weight:700}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:13px}td.num,th.num{text-align:right}.up{color:var(--good)}.down{color:var(--bad)}.same{color:var(--muted)}.new{color:var(--accent-2)}.board{min-height:100vh;padding:3vh 4vw}.board .code{letter-spacing:.12em;color:var(--accent-2);font-size:8vw;font-weight:900}.board h1{font-size:3.4vw}.board .q-text{margin:3vh 0;font-size:3.2vw;font-weight:800;line-height:1.2}.board .timer{font-size:6vw;font-weight:900}.board .opt{align-items:center;min-height:12vh;font-size:2vw;display:flex}.board .options{gap:2vh}.board table{font-size:2.2vw}.board .big-podium{justify-content:center;align-items:flex-end;gap:3vw;margin-top:4vh;display:flex}.podium-col{text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:2vh 2vw}.podium-col .rank{font-size:4vw;font-weight:900}.podium-col .name{font-size:2.4vw;font-weight:800}.podium-col .pts{color:var(--muted);font-size:1.8vw}.gold{color:#ffd54a}.silver{color:#cfd8e3}.bronze{color:#e0a06a}.concept-group{flex-direction:column;gap:10px;display:flex}.concept-group-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);margin:14px 0 2px;padding-bottom:6px;font-size:1.05rem}.concept-toggle{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:4px 2px;font-size:1.05rem;font-weight:600;display:flex}.concept-toggle:hover{color:var(--accent)}.concept-toggle .chev{color:var(--accent);transition:transform .15s;display:inline-block}.concept-toggle .chev.open{transform:rotate(90deg)}.concept-body{margin-top:12px}.concept-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:20px;display:grid}.concept-card{flex-direction:column;display:flex}.concept-video{aspect-ratio:16/9;border:1px solid var(--border);object-fit:cover;background:#000;border-radius:12px;width:100%}.checklist{flex-direction:column;gap:6px;max-height:320px;display:flex;overflow:auto}.check-item{background:var(--panel-2);border-radius:8px;align-items:flex-start;gap:10px;padding:8px;display:flex}.check-item.on{outline:2px solid var(--accent)}
