:root{--bg:#07111f;--surface:#0d1b2e;--border:#263a56;--text:#e8f0fb;--muted:#9fb0c7;--accent:#8ab8ff;--danger:#ff9c8f;--ok:#8fe0b6;--stale:#f2c879;--font-mono:"SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,sans-serif}a{color:var(--accent)}button,input,select{font:inherit}button,input,input[type=file],select{min-height:2.25rem}input:not([type=checkbox]):not([type=file]){width:100%;padding:0 .6rem;border:1px solid var(--border);background:var(--surface);color:var(--text)}button{padding:0 .9rem;border:1px solid var(--accent);background:var(--accent);color:#07111f;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.text-button{border:0;background:transparent;color:var(--accent);padding:0}.text-button:hover{color:var(--text)}select{width:100%;padding:0 .6rem;background:var(--surface)}pre,select{border:1px solid var(--border);color:var(--text)}pre{margin:0;padding:.75rem;overflow-x:auto;background:#050b14;font-family:var(--font-mono);line-height:1.5}.shell{width:min(880px,calc(100% - 2rem));margin:0 auto;padding:1rem 0 3rem}.page-stack,.problem-statement,.problem-statement section,.room-controls,.room-dialog,.room-form,.room-list,.room-page,.sample,.submit-box,.submit-box form{display:grid;grid-gap:1rem;gap:1rem}.room-settings-prefixes{display:grid;grid-gap:.6rem;gap:.6rem;padding-top:.85rem;border-top:1px solid var(--border)}.room-settings-prefixes label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--muted);font-size:.82rem}.room-settings-prefixes p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.topbar{display:flex;gap:1rem;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.topbar a{color:var(--text);font-weight:700;text-decoration:none}.topbar-brand{margin-right:.5rem}.header-auth,.topbar-nav{display:flex;gap:1rem;align-items:center}.header-auth{margin-left:auto}.header-auth span{color:var(--muted)}.header-auth button{min-height:2rem;padding:0 .75rem}.header-auth-placeholder{display:inline-flex;width:6.5rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--border);background:transparent;color:var(--muted)}.header-auth-skeleton{width:3.75rem;height:.55rem}.header-auth-retry{border-color:var(--border);background:transparent;color:var(--muted)}.header-auth-retry:hover{border-color:var(--accent);color:var(--accent)}.auth-dialog{width:min(24rem,calc(100vw - 2rem))}.auth-status{display:flex;gap:.65rem;align-items:center;padding:.75rem;border:1px solid rgba(138,184,255,.45);background:rgba(138,184,255,.1);color:var(--text);font-weight:700}.auth-spinner{width:1rem;height:1rem;border:2px solid rgba(232,240,251,.28);border-top:2px solid var(--accent);border-radius:999px;animation:auth-spin .7s linear infinite}@keyframes auth-spin{to{transform:rotate(1turn)}}.room-control-tooltip{display:inline-block;justify-self:start}.danger-button{border-color:var(--danger);background:transparent;color:var(--danger)}.danger-button:hover{background:rgba(255,156,143,.12)}.problem-list__head{display:flex;gap:1rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.problem-list{min-height:24rem}.submission-history{display:grid;grid-gap:1rem;gap:1rem}.submission-history__head{display:flex;gap:1rem;align-items:center;justify-content:space-between}.submission-history__head h1,.submission-history__head p{margin:0}.submission-history__head p,.submission-history__message{color:var(--muted)}.submission-history__table{overflow-x:auto;border:1px solid var(--border)}.submission-history__row{display:grid;grid-template-columns:minmax(11rem,1.5fr) minmax(6rem,.8fr) minmax(9rem,1fr) minmax(11rem,1fr) auto;grid-gap:1rem;gap:1rem;align-items:center;min-width:42rem;padding:.8rem 1rem;border-top:1px solid var(--border)}.submission-history__row:first-child{border-top:0}.submission-history__row--head{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase}.submission-history__accepted{color:var(--ok)}.submission-history__stale{color:var(--stale)}.submission-history__view{justify-self:start}.problem-submissions{display:grid;grid-gap:1rem;gap:1rem}.problem-submissions__head{display:flex;gap:1rem;align-items:center;justify-content:space-between}.problem-submissions__head h2,.problem-submissions__head p{margin:0}.problem-submissions__head p,.problem-submissions__message{color:var(--muted)}.problem-submissions__list{display:grid;border:1px solid var(--border)}.problem-submissions__row{display:grid;grid-template-columns:minmax(6rem,.8fr) minmax(9rem,1fr) minmax(11rem,1fr);grid-gap:1rem;gap:1rem;align-items:center;padding:.75rem 1rem;border-top:1px solid var(--border);color:inherit;text-decoration:none}.problem-submissions__row:hover{background:color-mix(in srgb,var(--surface) 80%,var(--accent))}.problem-submissions__row:first-child{border-top:0}.problem-submissions__accepted{color:var(--ok)}.problem-submissions__stale{color:var(--stale)}.submission-detail{display:grid;grid-gap:1rem;gap:1rem}.submission-detail__actions,.submission-detail__head,.submission-detail__source-head{display:flex;gap:1rem;align-items:center;justify-content:space-between}.submission-detail__eyebrow,.submission-detail__head h1,.submission-detail__source h2,.submission-detail__summary p{margin:0}.submission-detail__eyebrow,.submission-detail__message{color:var(--muted)}.submission-detail__summary{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:1rem;gap:1rem}.submission-detail__summary--stale{grid-template-columns:minmax(0,1fr) minmax(16rem,.7fr)}.submission-detail__source,.submission-detail__summary aside,.submission-detail__summary dl{margin:0;border:1px solid var(--border);padding:1rem}.submission-detail__summary dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.submission-detail__summary dl div{display:grid;grid-gap:.2rem;gap:.2rem}.submission-detail__summary dt{color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase}.submission-detail__summary dd{margin:0}.submission-detail__summary aside{display:grid;grid-gap:.55rem;gap:.55rem}.submission-detail__stale{border-color:var(--stale)}.submission-detail__source{display:grid;grid-gap:1rem;gap:1rem}.submission-detail__source pre{max-height:42rem;margin:0;overflow:auto;padding:1rem;background:var(--surface);border:1px solid var(--border);font-family:var(--font-mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:.9rem;line-height:1.5;white-space:pre}@media (max-width:600px){.problem-submissions__head,.submission-detail__actions,.submission-detail__head,.submission-detail__source-head,.submission-history__head{align-items:stretch;flex-direction:column}.submission-detail__summary,.submission-detail__summary dl{grid-template-columns:1fr}.problem-submissions__row{grid-template-columns:1fr;gap:.3rem}}.problem-list h1,.problem-statement h1{margin:0}.problem-limits{display:flex;flex-wrap:wrap;gap:.5rem}.problem-limits span{padding:.35rem .6rem;border:1px solid var(--border);background:#050b14;color:var(--muted);font-size:.9rem}.problem-table{display:grid;border:1px solid var(--border);background:var(--surface)}.problem-table__head,.problem-table__row{display:grid;grid-template-columns:1fr auto;grid-gap:1rem;gap:1rem;align-items:center;padding:.75rem 1rem}.problem-table__head{border-bottom:1px solid var(--border);color:var(--muted);font-size:.85rem;font-weight:700}.problem-table__row+.problem-table__row{border-top:1px solid var(--border)}.problem-table__row{color:var(--text);text-decoration:none;transition:background .12s ease,color .12s ease}.problem-table__row:hover{background:#13243a;color:var(--accent)}.problem-solved-check,.problem-solved-marker,.problem-table__row-meta{display:inline-flex;align-items:center}.problem-table__row-meta{gap:.5rem}.problem-solved-marker{width:1rem;height:1rem;flex:0 0 1rem;justify-content:center;margin-left:.35rem;vertical-align:middle}.problem-solved-check{color:var(--ok)}.problem-solved-marker.is-loading:after{width:.4rem;height:.4rem;border:1px solid var(--border);border-radius:999px;content:"";animation:loading-pulse .9s ease-in-out infinite alternate}.problem-table__row-meta .problem-solved-marker{margin-left:0}.problem-list p,.sample p,.submit-box p{margin:0;color:var(--muted)}.problem-statement,.submit-box{padding:1rem;border:1px solid var(--border);background:var(--surface)}.problem-statement h2,.sample h3,.submit-box h2{margin:0}.problem-statement section{padding-top:1rem;border-top:1px solid var(--border)}.submit-box label{display:grid;grid-gap:.35rem;gap:.35rem;color:var(--muted)}.file-picker{position:relative;display:flex;min-height:2.25rem;align-items:center;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}.file-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-picker__button{align-self:stretch;display:inline-flex;align-items:center;padding:0 .9rem;border-right:1px solid var(--border);background:#13243a;color:var(--accent)}.file-picker__name{overflow:hidden;padding:0 .75rem;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.file-picker:hover{border-color:var(--accent)}.submit-result--error{color:var(--danger)!important}.room-controls{justify-items:end}.current-room-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.room-controls p,.room-list p,.room-page p,.rooms-message{margin:0;color:var(--muted)}.room-button{background:var(--accent);color:#07111f;font-weight:400}.room-button,.room-link{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 .9rem;border:1px solid var(--accent);text-decoration:none}.room-link{gap:.5rem;box-shadow:0 0 18px rgba(138,184,255,.22);color:var(--accent);font-weight:700}.room-link:hover{background:rgba(138,184,255,.1)}.room-dialog-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:rgba(0,0,0,.52)}.room-dialog{width:min(720px,100%);max-height:min(760px,calc(100vh - 2rem));overflow:auto}.confirmation-dialog,.room-dialog{padding:1rem;border:1px solid var(--border);background:var(--surface)}.confirmation-dialog{display:grid;grid-gap:1rem;gap:1rem;width:min(420px,100%)}.confirmation-dialog h2,.confirmation-dialog p{margin:0}.confirmation-dialog p{color:var(--muted);line-height:1.5}.confirmation-dialog__actions{display:flex;gap:.75rem;justify-content:flex-end}.checkbox-line,.room-dialog__head,.room-mode-buttons{display:flex;gap:.75rem;align-items:center}.room-dialog__head{justify-content:space-between}.checkbox-line__hint{color:var(--muted);font-size:.9rem}.dialog-close-button{min-width:2rem;min-height:2rem;padding:0;border-color:var(--border);background:transparent;color:var(--accent);font-size:1.25rem;line-height:1}.dialog-close-button:hover{border-color:var(--accent);background:rgba(138,184,255,.1)}.room-dialog h2,.room-dialog h3,.room-page h1,.room-page h2{margin:0}.room-page__head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.room-page__head p{margin-top:.25rem}.room-mode-buttons{flex-wrap:wrap}.room-master-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.gear-button{min-width:2.25rem;padding:0;border-color:var(--border);background:transparent;color:var(--accent)}.gear-button:hover{border-color:var(--accent);background:rgba(138,184,255,.1)}.room-title-line{display:flex;gap:.75rem;align-items:center}.room-back-link{display:inline-flex;width:2rem;height:2rem;align-items:center;justify-content:center;border:1px solid var(--border);color:var(--accent);text-decoration:none}.room-back-link:hover{border-color:var(--accent);background:rgba(138,184,255,.1)}.room-form,.rooms-page{display:grid;grid-gap:1rem;gap:1rem}.rooms-page h1,.rooms-page h2{margin:0}.checkbox-line{display:flex;gap:.75rem;align-items:center}.rooms-message{margin:0;color:var(--muted)}.loading-skeleton{display:block;border-radius:2px;background:#1a2b42;animation:loading-pulse .9s ease-in-out infinite alternate}.room-detail-skeleton,.room-list-skeleton{display:grid;grid-gap:.65rem;gap:.65rem}.room-list-skeleton .loading-skeleton{height:2.75rem;border:1px solid var(--border)}.room-detail-skeleton{min-height:12rem;align-content:start}.room-detail-skeleton .loading-skeleton{width:100%;height:3.5rem;border:1px solid var(--border)}.room-detail-skeleton .loading-skeleton:first-child{width:min(18rem,70%);height:2rem}.page-load-error{display:grid;max-width:46rem;grid-gap:.75rem;gap:.75rem;margin:4rem auto;padding:1.25rem;border:1px solid var(--border)}.page-load-error h1,.page-load-error p{margin:0}.page-loading-state{display:grid;max-width:72rem;min-height:18rem;align-content:start;grid-gap:.75rem;gap:.75rem;margin:2rem auto}.page-loading-state .loading-skeleton{height:4rem;border:1px solid var(--border)}.page-loading-state .loading-skeleton:first-child{width:min(22rem,70%);height:2rem}.rooms-load-error{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.rooms-loading{min-height:1.25rem}.room-controls--loading{min-width:7rem}.room-control-skeleton{width:7rem;height:2.25rem;border:1px solid var(--border)}@keyframes loading-pulse{0%{opacity:.42}to{opacity:.9}}.room-form{padding:1rem;background:var(--surface)}.room-form,.room-table{border:1px solid var(--border)}.room-table{display:grid}.room-table__head,.room-table__row{display:grid;grid-template-columns:minmax(0,1fr) 90px 17.25rem;grid-gap:1rem;gap:1rem;align-items:center;padding:.75rem 1rem}.room-table__head{color:var(--muted);font-weight:700}.room-table__head,.room-table__row{border-bottom:1px solid var(--border)}.room-table__row:last-child{border-bottom:0}.room-table code{overflow:hidden;color:var(--muted);font-family:var(--font-mono);text-overflow:ellipsis}.inline-join{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.inline-join input,.inline-join__spacer{width:12rem;max-width:12rem}.inline-join button{min-width:4.75rem}.member-table{display:grid;border:1px solid var(--border);background:var(--surface)}.members-section-head{display:flex;gap:1rem;align-items:center;justify-content:space-between}.members-section-head h2{margin:0}.room-card{display:grid;grid-gap:1rem;gap:1rem;padding:1rem;border:1px solid var(--border);background:var(--surface)}.room-card__head{display:flex;gap:1rem;align-items:flex-start;justify-content:space-between}.room-card h2,.room-card h3,.room-card p{margin:0}.room-card p{color:var(--muted)}.room-mode-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem;align-items:end}.mode-explanation{display:grid;grid-gap:.35rem;gap:.35rem;padding:.85rem 1rem;border:1px solid var(--border);background:#081527}.mode-explanation strong{color:var(--text)}.mode-explanation p{margin:0;color:var(--muted);line-height:1.55}.mode-icon-buttons{display:flex;gap:.5rem;align-items:center}.mode-icon-button{display:inline-flex;min-width:2.25rem;padding:0;align-items:center;justify-content:center;border-color:var(--border);background:transparent;color:var(--muted)}.mode-icon-button.is-active,.mode-icon-button:hover{border-color:var(--accent);background:rgba(138,184,255,.1);color:var(--accent)}.round-start-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}.round-start-actions--outside{justify-content:flex-start}.round-start-warning{color:var(--danger);font-size:.9rem}.room-mode-form label,.round-list{display:grid;grid-gap:.35rem;gap:.35rem}.room-mode-form label{color:var(--muted)}.mode-number-control__field{display:grid;grid-template-columns:2.25rem minmax(3.5rem,1fr) 2.25rem}.mode-number-control__field button{display:inline-flex;min-width:0;padding:0;align-items:center;justify-content:center;border-color:var(--border);background:transparent;color:var(--accent)}.lockout-team-panel{display:grid;grid-gap:.75rem;gap:.75rem;padding-top:1rem;border-top:1px solid var(--border)}.lockout-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.lockout-team-card{display:grid;grid-gap:.5rem;gap:.5rem;padding:.75rem;border:1px solid var(--border);background:#081527}.lockout-team-card--red{border-color:rgba(255,156,143,.45)}.lockout-team-card--blue{border-color:rgba(58,112,255,.7)}.lockout-team-card__head,.lockout-team-member{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.lockout-team-member button{display:inline-flex;min-width:2.25rem;padding:0;align-items:center;justify-content:center}.lockout-team-card--red .lockout-team-card__head strong{color:var(--danger)}.lockout-team-card--blue .lockout-team-card__head strong{color:#3a70ff}.mode-number-control__field input{border-left:0;border-right:0;text-align:center}.round-grid{grid-template-columns:minmax(0,1fr)}.round-grid,.round-stack,.submission-queue{display:grid;grid-gap:1rem;gap:1rem}.round-list,.round-problems-panel,.submission-queue{min-height:24rem}.round-problems-panel{min-width:0}.round-list{align-content:start;grid-auto-rows:max-content}.submission-queue{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.submission-queue__body{display:grid;align-content:start;grid-gap:.75rem;gap:.75rem;min-height:0;overflow-y:auto;padding-right:.25rem}.round-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);grid-gap:1rem;gap:1rem;align-items:start}.submission-queue p{margin:0;color:var(--muted)}.submission-queue__row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;align-items:center;padding:.65rem .75rem;border:1px solid var(--border)}.submission-queue__row>div{display:grid;grid-gap:.2rem;gap:.2rem}.submission-queue__row>div:last-child{justify-items:end}.submission-queue__row span{color:var(--muted);font-size:.85rem}.submission-queue__verdict{color:var(--muted);font-weight:700}.submission-queue__verdict.is-accepted{color:var(--ok)}.submission-queue__verdict.is-rejected{color:var(--danger)}.round-history{gap:.75rem}.round-history p{margin:0;color:var(--muted)}.round-history__row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(14rem,1.15fr) minmax(7rem,.45fr);grid-gap:1rem;gap:1rem;align-items:center;padding:.75rem 1rem;border-color:var(--border);background:#081527;color:var(--text);text-align:left}.round-history__row>span,.round-history__row>strong{min-width:0}.round-history__row:hover{border-color:var(--accent)}.round-history__row span:nth-child(3){overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.round-history__result{overflow:hidden;color:var(--text);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.round-history__team-score{display:inline-flex;gap:.35rem;align-items:center;font-weight:800}.round-history__team-score .round-history__team-score-red{color:var(--danger)}.round-history__team-score .round-history__team-score-blue{color:#3a70ff}.round-history__row strong{color:var(--ok)}.round-history__row strong.is-aborted{color:var(--danger)}.round-history-dialog{width:min(920px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow-y:auto}.round-config-summary p,.round-history-dialog .room-dialog__head p{margin:0;color:var(--muted)}.round-config-summary{display:grid;grid-gap:.35rem;gap:.35rem;padding:1rem;border:1px solid var(--border);background:#081527}.round-config-summary h3{margin:0}.round-focus-page{display:grid;grid-gap:1rem;gap:1rem}.round-countdown-banner,.round-top-countdown{display:flex;gap:1rem;align-items:center;justify-content:center;padding:.85rem 1rem;border:1px solid var(--accent);background:#0b203b;color:var(--muted)}.round-top-countdown{position:-webkit-sticky;position:sticky;top:0;z-index:5}.round-countdown-banner strong,.round-top-countdown strong{color:var(--text);font-family:var(--font-mono);font-size:1.45rem;letter-spacing:.04em}.round-focus-card{display:flex;gap:.25rem;align-items:center;justify-content:space-between;padding:1rem;border:1px solid var(--border);background:var(--surface)}.round-focus-card h1,.round-focus-card p{margin:0}.round-focus-card p{color:var(--muted)}.round-focus-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);grid-gap:1rem;gap:1rem}.round-problem,.round-progress{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.65rem .75rem;border:1px solid var(--border);color:var(--text);text-decoration:none}.round-problem:hover{border-color:var(--accent);color:var(--accent)}.tic-tac-toe-card{gap:.75rem}.tic-tac-toe-board{grid-template-columns:repeat(3,minmax(0,1fr))}.tic-tac-toe-board,.tic-tac-toe-cell{display:grid;grid-gap:.5rem;gap:.5rem}.tic-tac-toe-cell{min-height:8rem;align-content:space-between;padding:.75rem;border:1px solid var(--border);background:#081527;color:var(--text);text-decoration:none}.tic-tac-toe-cell:hover{border-color:var(--accent)}.tic-tac-toe-cell strong{font-size:1.1rem}.tic-tac-toe-cell span{color:var(--muted);line-height:1.35}.tic-tac-toe-cell .problem-solved-check{color:var(--ok)}.tic-tac-toe-cell em{color:var(--muted);font-style:normal;font-weight:700}.tic-tac-toe-cell.is-red{border-color:rgba(255,156,143,.75);background:rgba(255,156,143,.1)}.tic-tac-toe-cell.is-red em{color:var(--danger)}.tic-tac-toe-cell.is-blue{border-color:rgba(58,112,255,.8);background:rgba(58,112,255,.12)}.tic-tac-toe-cell.is-blue em{color:#3a70ff}.lockout-score-card{gap:.75rem}.lockout-score-strip{display:flex;flex-wrap:wrap;gap:.5rem}.lockout-score-square{position:relative;display:inline-flex;width:2.75rem;height:2.75rem;align-items:center;justify-content:center;border:1px solid var(--border);background:#081527;color:var(--text);font-weight:800;text-decoration:none}.lockout-score-square .problem-solved-marker{position:absolute;top:.15rem;right:.15rem;margin:0}.lockout-score-square:hover{border-color:var(--accent)}.lockout-score-square.is-red{border-color:rgba(255,156,143,.85);background:var(--danger);color:#07111f}.lockout-score-square.is-blue{border-color:rgba(58,112,255,.9);background:#3a70ff;color:#ffffff}.round-problem span:last-child,.round-progress span:last-child{color:var(--muted)}.leaderboard-card{gap:.75rem}.leaderboard-table-wrap{overflow-x:auto;border:1px solid var(--border)}.leaderboard-table{width:100%;min-width:560px;border-collapse:collapse;background:#081527}.leaderboard-table td,.leaderboard-table th{padding:.65rem .75rem;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:center;white-space:nowrap}.leaderboard-table td:last-child,.leaderboard-table th:last-child{border-right:0}.leaderboard-table tr:last-child td{border-bottom:0}.leaderboard-table .leaderboard-row--self td{background:rgba(138,184,255,.1)}.leaderboard-table th{color:var(--muted);font-size:.85rem;font-weight:700}.leaderboard-table td:nth-child(2),.leaderboard-table th:nth-child(2){min-width:10rem;text-align:left}.leaderboard-cell{min-width:5.75rem}.leaderboard-cell span,.leaderboard-cell strong{display:block}.leaderboard-cell span{color:var(--muted);font-size:.8rem}.leaderboard-cell--solved{background:rgba(143,224,182,.12);color:var(--ok)}.leaderboard-cell--failed{background:rgba(255,156,143,.1);color:var(--danger)}.leaderboard-cell--empty{color:var(--muted)}.member-row{display:grid;grid-template-columns:2rem minmax(0,1fr) minmax(0,1fr) 180px;grid-gap:1rem;gap:1rem;align-items:center;min-height:3.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.member-row>span{display:flex;align-items:center;min-height:2rem}.member-row:last-child{border-bottom:0}.member-row span:last-child{color:var(--muted)}.member-actions{display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.member-actions button{min-height:2rem;padding:0 .75rem}.member-actions--empty{min-height:2rem}.member-master-cell{justify-content:center}.member-handle{display:inline-flex;gap:.4rem;align-items:center}.member-crown{color:var(--accent);font-size:.95rem;line-height:1}.member-spectator{padding:.1rem .35rem;border:1px solid var(--border);color:var(--muted);font-size:.75rem;line-height:1}.room-switches{display:flex;gap:.75rem;flex-wrap:wrap}.room-switch{position:relative;min-width:7rem;padding:0 2.5rem 0 .75rem;border-color:var(--border);background:transparent;color:var(--muted);text-align:left}.room-switch:after{right:.65rem;width:1.35rem;height:.75rem;border:1px solid var(--border)}.room-switch:after,.room-switch:before{content:"";position:absolute;top:50%;border-radius:999px;transform:translateY(-50%)}.room-switch:before{right:1.28rem;z-index:1;width:.45rem;height:.45rem;background:var(--muted);transition:right .12s ease,background .12s ease}.room-switch.is-on{border-color:var(--accent);color:var(--accent)}.room-switch.is-on:before{right:.82rem;background:var(--accent)}.room-snackbar-stack{position:fixed;right:1rem;bottom:1rem;z-index:80;display:grid;grid-gap:.5rem;gap:.5rem;width:min(32rem,calc(100vw - 2rem))}.room-snackbar{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.85rem 1rem;border:1px solid var(--ok);background:#050b14;color:var(--text);box-shadow:0 1rem 2.5rem rgba(0,0,0,.38)}.room-snackbar--danger{border-color:var(--danger)}.room-snackbar button{min-height:2rem;padding:0 .65rem}@media (max-width:720px){.problem-list__head{align-items:flex-start;flex-direction:column}.room-table__head,.room-table__row{grid-template-columns:1fr}.inline-join{align-items:stretch;flex-direction:column;justify-content:flex-start}.inline-join input{max-width:none}.inline-join__spacer{display:none}.member-row{grid-template-columns:1fr}.members-section-head{align-items:flex-start;flex-direction:column}.lockout-team-grid,.room-card__head,.room-mode-form,.round-focus-grid,.round-grid,.round-history__row,.round-main-grid,.submission-queue__row,.tic-tac-toe-board{grid-template-columns:1fr}.submission-queue__row>div:last-child{justify-items:start}.room-card__head,.round-focus-card,.round-start-actions{flex-direction:column}.round-focus-card,.round-start-actions{align-items:stretch}.room-page__head{align-items:flex-start;flex-direction:column}.member-actions{justify-content:flex-start}}.markdown-content :first-child{margin-top:0}.markdown-content :last-child{margin-bottom:0}.markdown-content blockquote,.markdown-content ol,.markdown-content p,.markdown-content ul{margin:0 0 1rem;line-height:1.65}.markdown-content ol,.markdown-content ul{padding-left:1.2rem}.markdown-content code{padding:.1rem .3rem;background:#050b14;color:var(--accent)}.markdown-content pre code{padding:0;background:transparent;color:inherit}.markdown-content .katex-display{overflow-x:auto;overflow-y:hidden;padding:.35rem 0}.contest-catalog,.contest-detail,.contest-problems,.contest-standings{display:grid;grid-gap:1.25rem;gap:1.25rem}.contest-catalog>header{display:grid;grid-gap:.4rem;gap:.4rem;padding:1.5rem 0 .5rem}.contest-catalog h1,.contest-catalog h2,.contest-catalog p,.contest-detail h1,.contest-detail h2,.contest-detail p{margin:0}.contest-catalog>header h1,.contest-hero h1{font-size:clamp(2rem,7vw,3.5rem);letter-spacing:-.05em;line-height:1}.contest-eyebrow{color:var(--accent);font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.contest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.contest-card{display:grid;grid-gap:.8rem;gap:.8rem;min-height:15rem;padding:1.25rem;border:1px solid var(--border);background:linear-gradient(145deg,var(--surface),#091522);color:var(--text);text-decoration:none;transition:border-color .14s ease,transform .14s ease}.contest-card:hover{border-color:var(--accent);transform:translateY(-2px)}.contest-card p,.contest-catalog>header p,.contest-message,.contest-section-head p{color:var(--muted)}.contest-card-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem;align-self:end;margin:0;color:var(--muted);font-family:var(--font-mono);font-size:.78rem}.contest-card-time>div{display:grid;grid-gap:.35rem;gap:.35rem}.contest-card-time dt{color:var(--accent);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.contest-card-time dd{margin:0;color:var(--text);font-size:.86rem}@media (max-width:420px){.contest-card-time{grid-template-columns:1fr}}.contest-status{justify-self:start;padding:.25rem .5rem;border:1px solid var(--border);color:var(--accent);font-family:var(--font-mono);font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contest-status--live{border-color:var(--ok);color:var(--ok)}.contest-status--ended{color:var(--muted)}.contest-hero{display:grid;grid-gap:1rem;gap:1rem;padding:1.5rem;border:1px solid var(--border);background:radial-gradient(circle at 90% 0,rgba(138,184,255,.14),transparent 40%),var(--surface)}.contest-hero>p{max-width:45rem;color:var(--muted);line-height:1.6}.contest-hero dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin:0;padding-top:1rem;border-top:1px solid var(--border)}.contest-hero dl div{display:grid;grid-gap:.25rem;gap:.25rem}.contest-hero dt{color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}.contest-hero dd{margin:0;font-family:var(--font-mono);font-size:.85rem}.contest-announcement{display:grid;justify-items:center;grid-gap:.6rem;gap:.6rem;padding:clamp(2rem,8vw,5rem) 1rem;border:1px solid var(--border);background:#050b14;text-align:center}.contest-announcement>span{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.contest-announcement strong{color:var(--accent);font-family:var(--font-mono);font-size:clamp(2.25rem,10vw,5rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.06em}.contest-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.contest-section-head>div{display:grid;grid-gap:.25rem;gap:.25rem}.contest-problem-list{border:1px solid var(--border);background:var(--surface)}.contest-problem-row{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto;grid-gap:1rem;gap:1rem;align-items:center;padding:1rem;color:var(--text);text-decoration:none}.contest-problem-row+.contest-problem-row{border-top:1px solid var(--border)}.contest-problem-row:hover{background:#13243a}.contest-problem-row>strong{color:var(--accent);font-family:var(--font-mono);font-size:1.2rem}.contest-problem-row>:last-child{color:var(--muted);font-size:.8rem}.contest-problem-row .contest-problem-solved,.standing-solved{color:var(--ok)}.standings-scroll{overflow-x:auto;border:1px solid var(--border)}.standings-table{width:100%;min-width:44rem;border-collapse:collapse;background:var(--surface);text-align:center}.standings-table td,.standings-table th{padding:.75rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.standings-table td:last-child,.standings-table th:last-child{border-right:0}.standings-table tbody tr:last-child td{border-bottom:0}.standings-table th{color:var(--muted);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.standings-table td:nth-child(2),.standings-table th:nth-child(2){min-width:12rem;text-align:left}.standing-solved small,.standings-table td:nth-child(2) small,.standings-table td:nth-child(2) strong{display:block}.standing-empty,.standing-solved small,.standings-table td:nth-child(2) small{color:var(--muted)}.standing-solved small{margin-top:.15rem;font-size:.65rem}.standing-wrong{color:var(--danger)}.standing-pending{color:var(--stale);font-size:.72rem}.contest-back-link{justify-self:start;font-size:.85rem}@media (max-width:640px){.shell{width:min(100% - 1rem,880px)}.topbar{flex-wrap:wrap}.header-auth{gap:.6rem}.contest-grid{grid-template-columns:1fr}.contest-hero{padding:1rem}.contest-hero dl{grid-template-columns:1fr}.contest-section-head{align-items:stretch;flex-direction:column}.contest-problem-row{grid-template-columns:2rem minmax(0,1fr)}.contest-problem-row>:last-child{grid-column:2}}