@font-face{font-family:"Quicksand";src:url("fonts/Quicksand-Variable.ttf") format("truetype");font-style:normal;font-weight:300 700;font-display:swap}
:root{--ink:#18211b;--green:#2f6b4f;--green2:#4d916b;--yellow:#ffdf38;--cream:#fffaf0;--orange:#ff8a34;--pink:#f73b91;--blue:#2098d1;--shadow:0 18px 45px rgba(31,48,38,.18)}
*{box-sizing:border-box}html{min-height:100%;background:#f4edcf}body{margin:0;min-height:100vh;color:var(--ink);font-family:"Quicksand","Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 10% 10%,#fffbd2 0,transparent 30%),linear-gradient(145deg,#fff8ce,#dff2d8)}button,input,select{font:inherit}.brand-bar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1440px,calc(100% - 32px));min-height:72px;margin:14px auto 0;padding:10px 14px 10px 20px;border:1px solid rgba(255,255,255,.28);border-radius:20px;background:linear-gradient(135deg,#20a4df,#147bb8);box-shadow:0 8px 28px rgba(20,100,155,.25);backdrop-filter:blur(12px)}.brand-logo{display:flex;align-items:center;color:#fff;font-size:clamp(1.2rem,2.2vw,1.75rem);font-weight:700;letter-spacing:-.04em;text-decoration:none}.brand-links{display:flex;align-items:center;gap:9px}.nav-badge{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.9);color:#126895;font-size:.92rem;font-weight:700;text-decoration:none;transition:transform .16s,background .16s}.nav-badge:hover{transform:translateY(-2px);background:#fff}.nav-badge.home-badge{background:#fff;color:#126895}.nav-badge.home-badge:hover{background:#fff7c7}.app{min-height:calc(100vh - 86px)}.screen{width:min(1440px,100%);margin:auto;padding:clamp(18px,3vw,46px)}[hidden]{display:none!important}.eyebrow{margin:0 0 8px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--green)}
.setup-screen{min-height:100vh;display:grid;grid-template-columns:minmax(280px,.82fr) minmax(340px,1.18fr);gap:clamp(28px,5vw,80px);align-items:center}.cover-wrap{display:flex;justify-content:center}.cover{display:block;width:min(100%,520px);max-height:86vh;object-fit:contain;border-radius:28px;box-shadow:var(--shadow);transform:rotate(-1deg)}.setup-panel{max-width:650px}.setup-panel h1,.game-header h1,.finish-screen h1{font-size:clamp(2.25rem,5vw,5.6rem);line-height:.94;margin:0 0 18px}.intro{font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.55;margin-bottom:28px}.setup-panel>label{font-weight:800;display:block;margin-bottom:8px}.setup-panel select,.team-names input{width:100%;border:2px solid rgba(47,107,79,.25);border-radius:14px;background:white;padding:13px 15px;outline:none}.setup-panel select:focus,.team-names input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(47,107,79,.12)}.team-names{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.team-names label span{display:block;font-size:.8rem;font-weight:800;margin:0 0 5px 4px}.btn{border:0;border-radius:14px;padding:13px 20px;font-weight:800;cursor:pointer;transition:transform .16s,box-shadow .16s,filter .16s;text-decoration:none;text-align:center;color:inherit}.btn:hover{transform:translateY(-2px);filter:brightness(1.03)}.btn:focus-visible,.tile:focus-visible{outline:4px solid var(--blue);outline-offset:3px}.btn-primary{background:var(--yellow);color:#1c211d;box-shadow:0 8px 0 #d7b900}.setup-panel>.btn-primary{width:100%;font-size:1.2rem;padding:17px}.setup-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.btn-ghost,.btn-small{background:rgba(255,255,255,.8);border:2px solid rgba(47,107,79,.22)}
.game-screen{padding-top:24px}.game-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.game-header h1{font-size:clamp(2.2rem,4.5vw,4.6rem);margin:0}.header-actions{display:flex;gap:10px}.btn-small{padding:10px 15px}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.danger{color:#9d243d}.scoreboard{display:flex;justify-content:center;gap:10px;overflow-x:auto;padding:4px 4px 18px}.score-card{min-width:130px;flex:1;max-width:230px;padding:10px;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(32,57,40,.1);text-align:center}.score-name{width:100%;border:0;border-bottom:1px solid #dbe6dd;background:transparent;text-align:center;font-weight:800;padding:3px}.score-card strong{display:block;font-size:clamp(1.7rem,3vw,3rem);line-height:1.1;margin-top:6px}.score-card span{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:#6f7b72}.board{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:9px;background:#183f32;padding:10px;border-radius:24px;box-shadow:var(--shadow)}.category{display:flex;align-items:center;justify-content:center;min-height:80px;padding:12px;border-radius:15px;background:#102d24;color:white;text-align:center;font-size:clamp(.9rem,1.5vw,1.35rem);font-weight:900}.tile{min-height:clamp(74px,10vh,115px);border:0;border-radius:15px;background:linear-gradient(145deg,var(--green2),var(--green));color:#fff499;font-size:clamp(2rem,4vw,4rem);font-weight:950;text-shadow:0 3px 0 rgba(0,0,0,.25);cursor:pointer;box-shadow:inset 0 0 0 2px rgba(255,255,255,.15);transition:.17s}.tile:hover{background:linear-gradient(145deg,#63a77e,#34775a);transform:translateY(-2px);box-shadow:0 7px 14px rgba(0,0,0,.25)}.tile.used{background:#29463b;color:#90aa9b;cursor:default;text-shadow:none}.board-help{text-align:center;color:#607066;margin:14px 0 0}
.question-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.question-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.question-meta{font-weight:900;color:var(--green);font-size:clamp(1rem,2vw,1.45rem)}.timer{display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:var(--green);color:#fff;font-size:2rem;font-weight:950;box-shadow:0 8px 0 #194634}.timer.warning{background:#d94055;box-shadow:0 8px 0 #9e2133;animation:pulse .7s infinite alternate}.question-card{flex:0 1 auto;display:flex;flex-direction:column;justify-content:center;min-height:clamp(280px,52vh,570px);padding:clamp(26px,5vw,72px);border-radius:30px;background:white;box-shadow:var(--shadow);text-align:center}.question-card h2{font-size:clamp(1.7rem,4vw,4.4rem);line-height:1.2;margin:8px auto;max-width:1100px}.answer-panel{margin:26px auto 0;padding:20px 24px;max-width:950px;border-radius:18px;background:#eff8e9;border:2px solid #b8dca8}.answer-label{margin:0 0 7px;color:var(--green);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.answer-panel p:last-child{font-size:clamp(1.25rem,2.7vw,2.7rem);font-weight:800;margin:0}.question-actions,.award-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:20px}.question-actions .btn{min-width:190px}.award-panel{text-align:center;margin-top:18px}.award-panel>p{font-weight:900;margin:0}.team-award{background:var(--green);color:white}.award-panel>.btn-ghost{margin-top:12px}
.finish-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.finish-screen h1{color:var(--green)}.final-ranking{width:min(620px,100%);margin:20px 0 32px}.final-ranking div{display:flex;justify-content:space-between;gap:20px;padding:17px 22px;margin:9px 0;border-radius:15px;background:white;box-shadow:0 6px 18px rgba(32,57,40,.09);font-size:1.2rem}.final-ranking div:first-child{background:var(--yellow);font-size:1.4rem}.final-ranking strong{font-size:1.3em}
@keyframes pulse{to{transform:scale(1.08)}}
@media(max-width:800px){.setup-screen{grid-template-columns:1fr}.cover{max-height:45vh}.setup-panel{margin:auto;width:100%}.game-header{align-items:flex-start;flex-direction:column}.board{grid-template-columns:repeat(4,minmax(90px,1fr));overflow-x:auto}.category{min-height:70px;font-size:.78rem}.tile{min-height:72px}.scoreboard{justify-content:flex-start}.question-card{min-height:48vh}.question-topbar{align-items:flex-start}}
@media(max-width:520px){.brand-bar{width:calc(100% - 20px);min-height:62px;margin-top:10px;padding:8px 10px 8px 13px;border-radius:16px}.brand-logo{font-size:1.05rem}.brand-links{gap:6px}.nav-badge{padding:9px 10px;font-size:0}.nav-badge span{font-size:1rem}.screen{padding:14px}.team-names{grid-template-columns:1fr}.setup-actions{grid-template-columns:1fr}.board{gap:5px;padding:6px;border-radius:15px;grid-template-columns:repeat(4,minmax(72px,1fr))}.category{padding:6px;font-size:.66rem}.tile{font-size:1.65rem}.header-actions{width:100%}.header-actions .btn{flex:1}.score-card{min-width:112px}.question-card{padding:24px 17px;border-radius:20px}.timer{width:58px;height:58px;font-size:1.5rem}.question-actions{display:grid;grid-template-columns:1fr 1fr}.question-actions .btn{min-width:0;padding:12px 8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
