:root{--bg:#11110f;--surface:#171714;--surface-2:#1d1c19;--text:#e6e2da;--muted:#928e87;--faint:#66635e;--rule:#34322e;--link:#7da4ff;--link-hover:#a7c0ff;--green:#72c69e;--red:#e1848c;--amber:#d8b86f}*{box-sizing:border-box}html{background:var(--bg);min-height:100%}body{min-height:100vh;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Georgia,Times New Roman,serif;font-size:17px;line-height:1.6}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--link);text-underline-offset:.16em;text-decoration-thickness:.08em}a:hover{color:var(--link-hover)}button{color:inherit}.page-width{width:min(760px,100% - 48px);margin:0 auto}.muted{color:var(--muted)}.capitalize{text-transform:capitalize}.brand{color:var(--text);letter-spacing:0;font-size:.9rem;font-weight:400;text-decoration:none}.button{border:1px solid var(--rule);min-height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:7px;padding:0 11px;font-size:.78rem;font-weight:400;display:inline-flex}.button:hover:not(:disabled){border-color:var(--faint);color:#fff}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{color:#c9d7ff;background:#18233b;border-color:#4467b8}.button-primary:hover:not(:disabled){border-color:var(--link);color:#fff;background:#1d2c4b}.button-quiet{color:var(--muted)}.icon-button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;place-items:center;display:inline-grid}.icon-button:hover{border-color:var(--rule);color:var(--text)}.icon-button.danger{color:var(--red)}input,textarea,select{border:1px solid var(--rule);width:100%;color:var(--text);background:var(--surface);border-radius:2px;outline:none;padding:8px 10px;font-size:.8rem}input{min-height:36px}textarea{resize:vertical;line-height:1.5}select{min-height:36px}input:focus,textarea:focus,select:focus{border-color:#5879c8}input:disabled,textarea:disabled,select:disabled{color:var(--faint);cursor:not-allowed;background:#141411}.landing-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.landing-nav{justify-content:space-between;align-items:center;height:auto;padding-top:5em;display:flex}.nav-note{font-size:.72rem}.landing-main{align-self:center;padding:5em 0 7em}.eyebrow{color:var(--muted);margin-bottom:1.5em;font-size:.78rem}.landing-main h1{max-width:620px;margin:0 0 .75em;font-size:2.05rem;font-weight:400;line-height:1.15}.landing-copy{max-width:570px;color:var(--muted);margin:0 0 1.7em;font-size:1rem}.google-button{justify-content:flex-start;min-width:225px;min-height:42px}.google-button svg:last-child{margin-left:auto}.login-note{color:var(--faint);align-items:center;gap:7px;margin:.9em 0 0;font-size:.7rem;display:flex}.auth-error{border-left:2px solid var(--red);max-width:560px;color:var(--red);margin:-1em 0 1.5em;padding:.25em 0 .25em .9em;font-size:.8rem;display:none}.auth-error.visible{display:block}.landing-footer{border-top:1px solid var(--rule);color:var(--faint);justify-content:space-between;align-items:center;padding:1em 0 3.5em;font-size:.68rem;display:flex}.app-header{background:var(--bg)}.header-inner{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;min-height:76px;display:flex}.header-actions{align-items:center;gap:5px;display:flex}.header-actions form{display:flex}.user-chip{color:var(--muted);align-items:center;gap:7px;margin-left:8px;font-size:.72rem;display:flex}.admin-link{color:var(--link);border:0}.app-content{padding:3.8em 0 7em}.event-heading{display:block}.status{color:var(--muted);text-transform:lowercase;align-items:center;gap:7px;font-size:.68rem;display:inline-flex}.status>span{background:var(--faint);border-radius:50%;width:6px;height:6px}.status-live{color:var(--green)}.status-live>span{background:var(--green)}.status-ended{color:var(--red)}.status-ended>span{background:var(--red)}.event-heading h1{margin:.45em 0 .3em;font-size:2rem;font-weight:400;line-height:1.2}.event-heading p{color:var(--muted);margin:0;font-size:.95rem}.score-card{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);margin-top:2em;display:grid}.score-card>div{padding:.9em 0}.score-card span{color:var(--muted);font-size:.65rem;display:block}.score-card strong{font-size:1.05rem;font-weight:400}.score-card strong small{color:var(--faint);font-size:.75rem}.tabs{border-bottom:1px solid var(--rule);gap:1.1em;margin:2.7em 0 0;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #0000;margin-bottom:-1px;padding:.7em 0;font-size:.78rem}.tabs button svg{display:none}.tabs button:hover{color:var(--text)}.tabs button.active{border-color:var(--link);color:var(--link)}.notice{border-left:2px solid var(--amber);color:var(--amber);align-items:center;gap:9px;margin:1.5em 0 0;padding:.2em 0 .2em .8em;font-size:.76rem;display:flex}.challenge-grid{display:block}.challenge-card{border-bottom:1px solid var(--rule);flex-direction:column;min-height:0;padding:2em 0;display:flex}.challenge-card.challenge-solved{color:var(--text)}.challenge-top{justify-content:space-between;align-items:center;display:flex}.category{color:var(--link);font-size:.68rem}.points{color:var(--muted);font-size:.7rem}.challenge-card h2{margin:.55em 0 .45em;font-size:1.25rem;font-weight:400}.challenge-description{color:#beb9b0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.88rem}.challenge-meta{color:var(--faint);justify-content:space-between;margin-top:1.2em;font-size:.68rem;display:flex}.solved-label{color:var(--green);align-items:center;gap:4px;display:inline-flex}.flag-entry{max-width:580px;padding-top:1.15em}.flag-entry>label{color:var(--muted);margin-bottom:.35em;font-size:.68rem;display:block}.input-action{gap:6px;display:flex}.input-action input{flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.form-message{margin:.5em 0 0;font-size:.72rem}.form-message.success{color:var(--green)}.form-message.error{color:var(--red)}.empty-state{color:var(--faint);text-align:center;padding:4em 0}.empty-state h2{color:var(--text);margin:.7em 0 .2em;font-size:1.1rem;font-weight:400}.empty-state p{color:var(--muted);margin:0;font-size:.8rem}.panel{background:0 0}.panel-heading{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;padding:2em 0 .8em;display:flex}.panel-heading>svg{display:none}.panel-heading h2{margin:0 0 .25em;font-size:1.2rem;font-weight:400}.panel-heading p{color:var(--muted);margin:0;font-size:.72rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th{color:var(--muted);text-align:left;padding:.7em .4em;font-size:.65rem;font-weight:400}td{border-top:1px solid var(--rule);color:#c7c2b9;padding:.75em .4em;font-size:.78rem}td strong{color:var(--text);font-weight:400}td small{color:var(--faint);font-size:.65rem;display:block}.align-right{text-align:right}tr.is-me td{color:#dce5ff}.rank{color:var(--muted)}.rank-1,.rank-2,.rank-3{color:var(--text)}.empty-row{color:var(--muted);padding:3em 0;font-size:.78rem}.rules-layout{display:block}.rules-list{margin:0;padding:1em 0;list-style:none}.rules-list li{border-bottom:1px solid var(--rule);gap:.9em;padding:.9em 0;display:flex}.rules-list li>span{color:var(--muted);font-size:.75rem}.rules-list p{color:#c7c2b9;margin:0;font-size:.82rem}.event-info{border-top:1px solid var(--rule);margin-top:2em;padding-top:1.4em}.event-info h3{margin:0 0 .6em;font-size:1rem;font-weight:400}.event-info>p{color:var(--muted);margin:0 0 1em;font-size:.8rem}.event-info dl{margin:0}.event-info dl div{border-top:1px solid var(--rule);justify-content:space-between;padding:.55em 0;font-size:.72rem;display:flex}.event-info dt{color:var(--muted)}.event-info dd{margin:0}.admin-shell{width:min(1020px,100% - 48px);margin:0 auto}.admin-sidebar{border-bottom:1px solid var(--rule);grid-template-columns:auto 1fr auto;align-items:center;gap:2em;padding:4em 0 1em;display:grid}.admin-brand{color:var(--text)}.admin-label{display:none}.admin-sidebar nav{justify-content:flex-end;gap:1em;display:flex;overflow-x:auto}.admin-sidebar nav button{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:.72rem;display:flex}.admin-sidebar nav button svg{display:none}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{color:var(--link)}.back-link{color:var(--muted);white-space:nowrap;align-items:center;gap:5px;font-size:.7rem;text-decoration:none;display:flex}.admin-main{padding:2.8em 0 7em}.admin-header{justify-content:space-between;align-items:flex-end;margin-bottom:2em;display:flex}.admin-header p{color:var(--muted);margin:0 0 .25em;font-size:.67rem}.admin-header h1{margin:0;font-size:1.65rem;font-weight:400}.admin-notice{border-left:2px solid;align-items:center;gap:8px;margin:-1em 0 1.5em;padding:.25em 0 .25em .8em;font-size:.75rem;display:flex}.admin-notice.success{color:var(--green)}.admin-notice.error{color:var(--red)}.admin-notice button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto}.admin-grid{grid-template-columns:1fr 1fr;gap:3em;display:grid}.admin-card{background:0 0;padding:0}.admin-card-heading,.list-header,.editor-heading{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:1em;padding-bottom:.7em;display:flex}.admin-card-heading>svg,.list-header>svg{display:none}.admin-card-heading h2,.list-header h2,.form-section-heading h2{margin:0 0 .2em;font-size:1.05rem;font-weight:400}.admin-card-heading p,.list-header p,.form-section-heading p,.editor-heading p{color:var(--muted);margin:0;font-size:.68rem}.admin-form{max-width:840px}.form-section-heading{margin-bottom:1em}.form-grid{gap:1em;display:grid}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid+.field,.field+.form-grid,.field+.field{margin-top:1em}.form-grid.align-end{align-items:end}.field{display:block}.field>span{color:var(--muted);justify-content:space-between;margin-bottom:.3em;font-size:.7rem;display:flex}.field>span small{color:var(--faint);font-size:.62rem}.form-divider{background:var(--rule);height:1px;margin:2em 0}.form-actions{border-top:1px solid var(--rule);justify-content:flex-end;gap:7px;margin-top:1.5em;padding-top:1em;display:flex}.toggle-field{cursor:pointer;align-items:center;gap:8px;min-height:36px;display:flex}.toggle-field input{display:none}.toggle{border:1px solid var(--faint);border-radius:99px;flex:none;width:27px;height:15px;padding:2px}.toggle:after{content:"";background:var(--faint);border-radius:50%;width:9px;height:9px;transition:transform .15s;display:block}.toggle-field input:checked+.toggle{border-color:var(--link)}.toggle-field input:checked+.toggle:after{background:var(--link);transform:translate(12px)}.toggle-field>span:last-child{flex-direction:column;display:flex}.toggle-field strong{font-size:.7rem;font-weight:400}.toggle-field small{color:var(--muted);font-size:.62rem}.challenge-editor{border-left:2px solid var(--link);margin:1.5em 0;padding:.25em 0 .25em 1em}.editor-heading{border:0;margin-bottom:1em;padding:0}.editor-heading h3{margin:0;font-size:.9rem;font-weight:400}.challenge-admin-list{margin-top:.5em}.challenge-admin-row{border-bottom:1px solid var(--rule);grid-template-columns:8px minmax(170px,1fr) 70px 65px auto auto;align-items:center;gap:9px;padding:.7em 0;display:grid}.publish-dot{background:var(--faint);border-radius:50%;width:6px;height:6px}.publish-dot.enabled{background:var(--green)}.challenge-admin-title{flex-direction:column;min-width:0;display:flex}.challenge-admin-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:400;overflow:hidden}.challenge-admin-title small,.answer-state,.visibility-state{color:var(--muted);font-size:.62rem}.answer-state.configured{color:var(--green)}.participant-row{border-bottom:1px solid var(--rule);padding:1.2em 0}.participant-summary{grid-template-columns:30px minmax(180px,1fr) auto;align-items:center;gap:9px;display:grid}.avatar{border:1px solid var(--rule);width:28px;height:28px;color:var(--muted);place-items:center;font-size:.72rem;display:grid}.participant-summary>div:nth-child(2),.participant-score{flex-direction:column;display:flex}.participant-summary strong{font-size:.75rem;font-weight:400}.participant-summary small{color:var(--muted);font-size:.63rem}.participant-score{align-items:flex-end}.participant-score strong{font-size:1rem}.participant-controls{grid-template-columns:150px 145px auto;align-items:end;gap:1em;margin:1em 0 .8em 39px;display:grid}.solve-manager{grid-template-columns:35px minmax(140px,1fr) 250px;align-items:center;gap:8px;margin-left:39px;display:grid}.solve-manager>span,.solve-tags small{color:var(--muted);font-size:.63rem}.solve-tags{flex-wrap:wrap;gap:5px;display:flex}.solve-tags button{border:0;border-bottom:1px solid var(--green);color:var(--green);cursor:pointer;background:0 0;align-items:center;gap:3px;padding:1px 0;font-size:.6rem;display:inline-flex}.grant-control{gap:5px;display:flex}.audit-list>div{border-bottom:1px solid var(--rule);grid-template-columns:7px 130px minmax(200px,1fr) 200px;align-items:center;gap:9px;padding:.7em 0;display:grid}.audit-dot{background:var(--link);border-radius:50%;width:5px;height:5px}.audit-list time,.audit-list small{color:var(--muted);font-size:.62rem}.audit-list p{color:var(--muted);flex-direction:column;margin:0;font-size:.64rem;display:flex}.audit-list p strong{color:var(--text);font-size:.7rem;font-weight:400}.audit-list>div>small{text-align:right;text-overflow:ellipsis;overflow:hidden}@media (max-width:760px){.page-width,.admin-shell{width:min(100% - 32px,760px)}.landing-nav{padding-top:3em}.landing-main{padding:4em 0 5em}.landing-main h1{font-size:1.75rem}.landing-footer span:last-child,.nav-note{display:none}.header-inner{min-height:64px}.user-chip span{display:none}.app-content{padding-top:2.8em}.score-card{min-width:0}.admin-sidebar{grid-template-columns:auto 1fr;gap:1.2em;padding-top:2.5em}.admin-sidebar nav{order:3;grid-column:1/-1;justify-content:flex-start;padding-top:.5em}.back-link{justify-self:end}.admin-grid,.form-grid.two,.form-grid.three{grid-template-columns:1fr}.challenge-admin-row{grid-template-columns:8px minmax(0,1fr) auto auto}.answer-state,.visibility-state{display:none}.participant-controls,.solve-manager{grid-template-columns:1fr;margin-left:0}.grant-control{grid-column:auto}.audit-list>div{grid-template-columns:7px 1fr}.audit-list p,.audit-list>div>small{text-align:left;grid-column:2}}
