@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Prata&display=swap');
:root{color-scheme:dark;--bg:#073c33;--ink:#fff9e9;--lime:#d9f67a;--line:#ffffff26;--muted:#bed0c4}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#155947,transparent 65%),var(--bg);color:var(--ink);font:16px Manrope,system-ui,sans-serif;min-height:100vh}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid var(--line);gap:20px}.brand{font-weight:800;letter-spacing:.14em;color:var(--ink);text-decoration:none}.brand span{display:block;font-size:9px;letter-spacing:.24em;margin-top:5px;color:var(--lime)}#connection{font-size:12px;color:var(--muted)}#connection.offline{color:#ffc18a}main{max-width:1440px;margin:auto;padding:40px 5%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Prata,Georgia,serif;font-weight:400;line-height:1.14}h1{font-size:clamp(40px,5vw,76px);letter-spacing:-.045em}h2{font-size:32px}h3{font-size:18px}p{line-height:1.6;color:var(--muted)}.eyebrow{color:var(--lime);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.hero img{width:100%;max-height:660px;object-fit:cover;border-radius:150px 150px 20px 20px}.hero-copy{max-width:570px}.card{background:#ffffff08;border:1px solid var(--line);padding:26px;border-radius:22px;margin-bottom:22px}.light{background:var(--ink);color:var(--bg)}.light p{color:#4a675c}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.between{justify-content:space-between}.stack{display:grid;gap:14px}label{display:grid;gap:8px;font-size:13px;font-weight:700}input,select{width:100%;background:#062c26;color:var(--ink);border:1px solid #ffffff55;border-radius:12px;padding:14px;font:inherit}input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--lime)}label.check{display:flex;align-items:flex-start;line-height:1.5;font-weight:400}button,.button{display:inline-flex;justify-content:center;align-items:center;border:1px solid transparent;background:var(--lime);color:#163b24;min-height:46px;border-radius:12px;padding:12px 20px;font:700 14px Manrope,system-ui;cursor:pointer;text-decoration:none;gap:8px}button.secondary,.button.secondary{background:transparent;color:var(--ink);border-color:#ffffff50}button.danger{background:#702c33;color:#ffe5df}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled),.button:hover{filter:brightness(1.08)}:focus-visible{outline:3px solid #fff;outline-offset:4px}.small{font-size:12px}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.portrait{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:16px}.thumbs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.thumbs img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:12px}.badge{display:inline-block;background:#ffffff15;padding:5px 10px;border-radius:30px;font-size:11px}.badge.good{background:#d9f67a;color:#163b24}.badge.warn{background:#ffcb95;color:#512813}.error{color:#ffcbc1;white-space:pre-wrap;overflow-wrap:anywhere}.success{color:var(--lime)}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.options button{justify-content:flex-start;min-height:65px;text-align:left}.options .chosen{outline:3px solid var(--ink)}.options .correct{background:var(--lime);color:#163b24}.options .letter{font-family:Prata,serif;font-size:25px;opacity:.65}.round-layout{display:grid;grid-template-columns:minmax(220px,.7fr) 1fr;gap:35px;align-items:center}.round-layout .portrait{max-height:62vh;object-fit:contain;background:#001b16}.timer{font-size:50px;font-weight:800;color:var(--lime);font-variant-numeric:tabular-nums}.leaderboard{list-style:none;padding:0;margin:0}.leaderboard li{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);gap:20px}.empty{text-align:center;padding:50px 20px}.screen-shell{display:grid;grid-template-columns:1fr 240px;gap:30px;align-items:start}.qr{background:white;padding:14px;border-radius:16px;width:100%;aspect-ratio:1}.screen-photo{width:100%;height:66vh;object-fit:contain;border-radius:24px;background:#002a23}.screen-title{font-size:clamp(30px,4vw,60px);margin-bottom:20px}.screen-aside{position:sticky;top:25px}.screen-aside p{font-size:14px}.screen-aside .code{font-size:24px;font-weight:800;letter-spacing:.15em}.toolbar{margin-bottom:25px}.toolbar select{max-width:380px}.stats{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.stats .badge{padding:10px 16px}.progress{height:7px;background:#ffffff20;border-radius:20px;overflow:hidden;margin:24px 0}.progress:after{content:'';display:block;width:35%;height:100%;background:var(--lime);animation:travel 2s ease-in-out infinite alternate}@keyframes travel{to{transform:translateX(185%)}}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;background:var(--ink);color:var(--bg);padding:15px 24px;border-radius:14px;box-shadow:0 10px 50px #0005;z-index:20;display:none}footer{text-align:center;padding:28px;font-size:10px;color:var(--muted);letter-spacing:.2em}.guest-shell{max-width:760px;margin:auto}.hidden{display:none!important}.subcard{overflow:hidden}.subcard .actions{margin-top:14px}.subcard .actions button{padding:10px;font-size:12px}.subcard p{margin:10px 0}.fine{font-size:12px;line-height:1.5}.gallery-caption{text-align:center;margin-top:18px;font-family:Prata,serif;font-size:30px}.login{max-width:460px;margin:70px auto}.controls{display:flex;gap:8px;flex-wrap:wrap}.controls button{padding:10px 14px}.notice{border-left:3px solid var(--lime);padding:12px 16px;background:#ffffff08;margin:18px 0}.screen-page header{padding-top:15px;padding-bottom:15px}.screen-page main{padding-top:25px}.screen-page footer{display:none}@media(max-width:760px){header{padding:20px 6%}.brand{font-size:13px}main{padding:28px 6%}.hero,.round-layout{grid-template-columns:1fr;gap:24px}.hero img{max-height:360px;order:-1}.hero-copy{max-width:none}h1{font-size:45px}.card{padding:20px}.screen-shell{grid-template-columns:1fr}.screen-aside{position:static;display:grid;grid-template-columns:100px 1fr;gap:15px}.screen-aside .qr{grid-row:span 3}.screen-aside p{margin:0}.screen-photo{height:48vh}.round-layout .portrait{max-height:40vh}.options{gap:8px}.options button{padding:12px}.toolbar select{max-width:none}.grid{grid-template-columns:1fr}.timer{font-size:34px}}@media(prefers-reduced-motion:reduce){.progress:after{animation:none}}
.screen-leaders{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.screen-leaders>div{border:1px solid var(--line);background:#ffffff08;border-radius:15px;padding:14px 20px;display:grid;gap:4px}.screen-leaders .eyebrow{margin:0;font-size:9px}.screen-leaders strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:19px}.screen-leaders>div>span:last-child{font-size:12px;color:var(--muted)}.screen-leaders>div:first-child{background:var(--lime);color:var(--bg)}.screen-leaders>div:first-child span{color:#315329}.screen-page .round-layout .portrait{max-height:48vh}.screen-page .round-layout{gap:25px}.screen-page .card{padding:22px}.screen-page .card h2{font-size:28px}.screen-page .screen-shell>section>.card{margin-bottom:15px}.screen-page .toolbar{margin-bottom:15px}@media(min-width:900px) and (max-height:800px){.screen-page header{padding:12px 5%}.screen-page main{padding-top:18px}.screen-page .screen-title{font-size:34px;margin-bottom:5px}.screen-page .eyebrow{margin-bottom:10px}.screen-page .round-layout .portrait{max-height:43vh}.screen-page .card{padding:16px}.screen-leaders>div{padding:10px 16px}.screen-page .screen-aside{max-width:180px;margin-left:auto}.screen-page .screen-shell{grid-template-columns:1fr 180px}}
.options button:disabled{opacity:1}.options button:disabled:not(.correct):not(.chosen){color:var(--muted)}.screen-page main{max-width:1800px}.screen-page .options button{font-size:clamp(16px,1.25vw,24px);min-height:75px}.screen-page .options .letter{font-size:34px}.screen-page .round-layout h3{font-size:22px}.screen-page .round-layout .small{font-size:15px}@media(max-width:760px){.screen-leaders>div{padding:12px 10px}.screen-leaders strong{font-size:15px}.screen-page .options button{min-height:60px;font-size:14px}.screen-page .round-layout h3{font-size:18px}}
.screen-page main{padding-bottom:20px}
