:root{--maroon: #9b3742;--maroon-dark: #7c2a33;--maroon-deep: #6e1f28;--maroon-tint: #f7e9ea;--ink: #3a3a3c;--ink-soft: #767479;--bg: #f2eeea;--card: #ffffff;--line: #e6ded4;--gold: #c9a15a;--silver: #aaa6a0;--bronze: #b77b4e}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Archivo,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--ink)}a{color:var(--maroon)}a:hover{color:var(--maroon-dark)}button{font-family:inherit}.headline-font{font-family:Archivo Black,Impact,Arial Black,sans-serif}.screen{min-height:100vh;width:100%;display:flex;flex-direction:column}.center-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.split{min-height:100vh;display:flex;flex-direction:column}.split-panel{background:var(--maroon-deep);color:#fff;padding:40px 24px;display:flex;flex-direction:column;gap:20px;position:relative;overflow:hidden}.split-panel .glow{position:absolute;border-radius:50%;background:#ffffff0d;width:320px;height:320px;bottom:-140px;right:-120px}.split-main{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 20px 40px}@media (min-width: 900px){.split{flex-direction:row}.split-panel{width:520px;min-width:520px;height:100vh;padding:64px 56px;justify-content:center}.split-main{padding:0 64px}}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--maroon)}.eyebrow-light{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#f2eeeabf}.title-lg{font-family:Archivo Black,Impact,Arial Black,sans-serif;font-size:25px;line-height:1.15;letter-spacing:-.01em;margin:0;color:var(--ink)}@media (min-width: 900px){.title-lg{font-size:40px}}.subtitle{font-size:14px;line-height:1.45;color:var(--ink-soft);margin:0}.btn-primary{height:56px;border-radius:14px;border:none;background:var(--maroon);color:#fff;font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 8px 18px #9b374252;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.btn-primary:not(:disabled):active{transform:scale(.98)}.btn-secondary{height:52px;border-radius:14px;border:1.5px solid var(--line);background:transparent;color:var(--ink);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.btn-start{height:60px;padding:0 32px;border-radius:16px;border:none;background:#f2eeea;color:#6e1f28;font-family:Archivo Black,Impact,sans-serif;font-size:18px;letter-spacing:.03em;text-transform:uppercase;box-shadow:0 12px 26px #00000047;cursor:pointer;width:100%}@media (min-width: 900px){.btn-start{width:auto}}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px 20px 24px;box-shadow:0 10px 30px #3a2a2814;display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.field input,.field select{height:50px;border-radius:12px;border:1.5px solid var(--line);padding:0 16px;font-size:16px;font-family:inherit;color:var(--ink);background:#fbfaf8;outline:none}.field input.has-error{border-color:var(--maroon)}.field textarea{border-radius:12px;border:1.5px solid var(--line);padding:12px 16px;font-size:15px;font-family:inherit;color:var(--ink);background:#fbfaf8;outline:none;resize:vertical}.field-error{font-size:12px;color:var(--maroon);margin:2px 2px 0}.hint{font-size:12px;color:var(--ink-soft);margin:2px 2px 0;line-height:1.4}.form-banner{border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.4}.form-banner.error{background:var(--maroon-tint);color:var(--maroon-dark)}.content-col{width:100%;max-width:420px;display:flex;flex-direction:column;gap:20px}.footer-note{font-size:11.5px;line-height:1.5;text-align:center;color:var(--ink-soft);padding:0 8px}.pillrow{display:flex;gap:10px;flex-wrap:wrap}.pill{font-size:12px;font-weight:700;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);padding:8px 14px;border-radius:999px}.intro-headline{font-family:Archivo Black,Impact,Arial Black,sans-serif;font-size:44px;line-height:1.02;text-align:center;color:#fff;margin:0}@media (min-width: 900px){.intro-headline{font-size:68px;text-align:left}}.intro-lead{font-size:15px;line-height:1.5;text-align:center;color:#f2eeeac7;max-width:280px;margin:0}@media (min-width: 900px){.intro-lead{text-align:left;max-width:420px;font-size:17px}}.intro-facts{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px}@media (min-width: 900px){.intro-facts{flex-direction:row;max-width:none}}.intro-fact{display:flex;align-items:center;gap:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:12px 14px;flex:1}.intro-fact .num{font-family:Archivo Black,Impact,sans-serif;font-size:18px;width:30px;text-align:center;flex-shrink:0}.intro-fact .txt{font-size:13px;line-height:1.35;color:#f2eeeac7}.intro-fact .txt b{color:#fff;font-weight:700}.qtop{padding:24px 20px 0;display:flex;flex-direction:column;gap:10px;max-width:720px;margin:0 auto;width:100%}.qtoprow{display:flex;align-items:center;justify-content:space-between}.qcount{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.qtrack{height:6px;border-radius:4px;background:var(--line);overflow:hidden}.qfill{height:100%;border-radius:4px;background:var(--maroon);transition:width .25s ease}.qbody{flex:1;display:flex;flex-direction:column;justify-content:center;gap:24px;padding:24px 20px 20px;max-width:720px;margin:0 auto;width:100%}.qbadge{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--maroon);background:var(--maroon-tint);padding:5px 10px;border-radius:999px}.qtext{font-family:Archivo Black,Impact,Arial Black,sans-serif;font-size:22px;line-height:1.28;color:var(--ink);margin:0}@media (min-width: 900px){.qtext{font-size:30px}}.options{display:flex;flex-direction:column;gap:12px}.opt{display:flex;align-items:center;gap:14px;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;min-height:60px;cursor:pointer;text-align:left;width:100%}.opt.selected{border-color:var(--maroon);background:var(--maroon-tint)}.opt-badge{width:32px;height:32px;min-width:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Archivo Black,Impact,sans-serif;font-size:14px;background:#f1ece7;color:var(--ink-soft)}.opt.selected .opt-badge{background:var(--maroon);color:#fff}.opt-text{font-size:15.5px;line-height:1.35;color:var(--ink);flex:1}.opt.selected .opt-text{color:var(--maroon-dark);font-weight:600}.opt-check{width:22px;height:22px;min-width:22px;border-radius:50%;background:var(--maroon);display:flex;align-items:center;justify-content:center}.qbottom{padding:0 20px 32px;max-width:720px;margin:0 auto;width:100%}.badge-done{width:64px;height:64px;border-radius:50%;background:#ffffff24;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}.scorecard{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 10px 30px #3a2a2814}.score-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.score-value{display:flex;align-items:baseline;gap:6px}.score-num{font-family:Archivo Black,Impact,sans-serif;font-size:56px;color:var(--maroon);line-height:1}.score-max{font-size:20px;color:var(--ink-soft);font-weight:600}.stats{display:flex;gap:12px}.stat{flex:1;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 14px;display:flex;flex-direction:column;gap:6px;box-shadow:0 6px 18px #3a2a280f}.stat .icon{width:30px;height:30px;border-radius:9px;background:var(--maroon-tint);display:flex;align-items:center;justify-content:center}.stat .val{font-family:Archivo Black,Impact,sans-serif;font-size:20px;color:var(--ink)}.stat .lbl{font-size:11px;color:var(--ink-soft);font-weight:600}.btnrow{display:flex;gap:12px}.btnrow .btn-primary,.btnrow .btn-secondary{flex:1}.ranking-header{display:flex;align-items:center;gap:12px;padding:24px 20px 0;max-width:900px;margin:0 auto;width:100%}.ranking-header .title{font-family:Archivo Black,Impact,sans-serif;font-size:20px;margin:0;color:var(--ink)}.ranking-wrap{max-width:900px;margin:0 auto;width:100%;padding:18px 20px 32px;display:flex;flex-direction:column;gap:20px;flex:1}.podium{display:none}@media (min-width: 760px){.podium{display:flex;align-items:flex-end;gap:16px;justify-content:center;margin-bottom:4px}.pcard{width:200px;border-radius:18px 18px 12px 12px;padding:18px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 10px 24px #3a2a2814;justify-content:flex-end}.pcard.p1{background:var(--maroon);height:200px;box-shadow:0 16px 32px #9b37424d}.pcard.p2,.pcard.p3{background:var(--card);height:164px;border:1px solid var(--line)}.medal{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Archivo Black,Impact,sans-serif;font-size:15px;color:#fff}.p1 .medal{background:var(--gold)}.p2 .medal{background:var(--silver)}.p3 .medal{background:var(--bronze)}.pname{font-size:14px;font-weight:700;text-align:center}.p1 .pname{color:#fff}.pmeta{font-size:11px;text-align:center}.p1 .pmeta{color:#ffffffbf}.p2 .pmeta,.p3 .pmeta{color:var(--ink-soft)}.pscore{font-family:Archivo Black,Impact,sans-serif;font-size:22px}.p1 .pscore{color:#fff}.p2 .pscore,.p3 .pscore{color:var(--maroon)}}.rlist{display:flex;flex-direction:column;gap:10px}.rcols{display:grid;grid-template-columns:34px 1fr 52px 62px;gap:8px;padding:0 6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.rcols .c-right{text-align:right}.rrow{display:grid;grid-template-columns:34px 1fr 52px 62px;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 10px}.rrow.top1{background:var(--maroon);border-color:var(--maroon)}.rrow.top1 .rname,.rrow.top1 .rscore,.rrow.top1 .rtime,.rrow.top1 .rpos{color:#fff}.rrow.top1 .rsub{color:#ffffffbf}.rpos{width:30px;height:30px;border-radius:50%;background:#f1ece7;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}.rwho{display:flex;flex-direction:column;gap:2px;min-width:0}.rname{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rsub{font-size:11px;color:var(--ink-soft)}.rscore{font-size:14px;font-weight:700;text-align:right;color:var(--ink)}.rtime{font-size:12.5px;text-align:right;color:var(--ink-soft);font-variant-numeric:tabular-nums}.me-wrap{padding-top:4px}.me{display:grid;grid-template-columns:34px 1fr 52px 62px;align-items:center;gap:8px;background:#2b2a2c;border-radius:14px;padding:13px 10px;box-shadow:0 10px 26px #00000038}.me .rpos{background:var(--maroon);color:#fff}.me .rname,.me .rscore{color:#fff}.me .rsub{color:#fff9}.me .rtime{color:#ffffffb3}.empty-state{text-align:center;color:var(--ink-soft);font-size:14px;padding:40px 20px}.admin-shell{min-height:100vh;display:flex;flex-direction:column}@media (min-width: 860px){.admin-shell{flex-direction:row}}.admin-nav{background:#fff;border-bottom:1px solid var(--line);padding:16px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}@media (min-width: 860px){.admin-nav{flex-direction:column;align-items:stretch;width:240px;min-width:240px;border-bottom:none;border-right:1px solid var(--line);padding:28px 18px;gap:4px}}.admin-nav-brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;margin-bottom:8px}.admin-nav a{color:var(--ink-soft);text-decoration:none;font-size:14px;font-weight:600;padding:10px 12px;border-radius:10px}.admin-nav a.active,.admin-nav a:hover{background:var(--maroon-tint);color:var(--maroon-dark)}.admin-nav .spacer{flex:1}.admin-nav button.logout{border:none;background:none;color:var(--ink-soft);font-size:13px;font-weight:600;cursor:pointer;text-align:left;padding:10px 12px}.admin-main{flex:1;padding:28px 24px 48px;max-width:1100px;width:100%}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}.admin-header h1{font-family:Archivo Black,Impact,sans-serif;font-size:22px;margin:0;color:var(--ink)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--card)}table.data-table{width:100%;border-collapse:collapse;font-size:13.5px}table.data-table th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}table.data-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}table.data-table tr:last-child td{border-bottom:none}.tag{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}.tag.active{background:#e6f4ea;color:#1e7a3a}.tag.inactive{background:#f1ece7;color:var(--ink-soft)}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;cursor:pointer;margin-right:6px}.icon-btn.danger{color:var(--maroon);border-color:var(--maroon-tint)}.admin-form-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:14px;margin-bottom:24px;max-width:760px}.admin-form-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.admin-form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}@media (max-width: 700px){.admin-form-row{grid-template-columns:1fr}}.admin-form-actions{display:flex;gap:10px}.admin-form-actions .btn-primary,.admin-form-actions .btn-secondary{height:44px;flex:none;padding:0 20px}.switch-row{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;max-width:480px}.switch-row .switch-label{flex:1}.switch-row .switch-label strong{display:block;font-size:14px;margin-bottom:2px}.switch-row .switch-label span{font-size:12.5px;color:var(--ink-soft)}.switch{width:44px;height:26px;border-radius:999px;background:var(--line);border:none;position:relative;cursor:pointer;flex-shrink:0}.switch.on{background:var(--maroon)}.switch .knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s ease}.switch.on .knob{transform:translate(18px)}.loading-line{color:var(--ink-soft);font-size:13px;padding:20px 0}
