:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#121212;--color-text:#ffffffeb;--color-link:#7aa2ff;--color-success:#2ea043;--color-error:#ff4545;color:var(--color-text);background-color:var(--color-bg);scrollbar-gutter:stable;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}a{color:var(--color-link);font-weight:600;text-decoration:none}a:hover{text-decoration:underline}body{min-width:320px;min-height:100vh;margin:0}h1{margin:0 0 8px;font-size:1.7rem;line-height:1.2}h2{margin:0 0 8px;font-size:1.05rem}button,input,select{font:inherit}button{border:1px solid color-mix(in oklab, currentColor 20%, transparent);background:color-mix(in oklab, currentColor 6%, transparent);cursor:pointer;border-radius:10px;padding:.55em .9em}button:disabled{opacity:.6;cursor:not-allowed}select{border:1px solid color-mix(in oklab, currentColor 20%, transparent);background:color-mix(in oklab, currentColor 6%, transparent);border-radius:10px;padding:.45em .7em}pre,code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#fafafa;--color-text:#1b1b1b}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fafafa;--color-text:#1b1b1b}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#121212;--color-text:#ffffffeb}#root{width:100%}.page{max-width:1100px;margin:0 auto;padding:16px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:38px;margin-bottom:16px;display:flex}.brand{font-weight:700}.problemPick{align-items:center;gap:8px;display:flex}.links{align-items:center;gap:12px;font-size:.95rem;display:flex}.links a+a{margin-left:12px}.home{gap:16px;display:grid}.grid{grid-template-columns:1.5fr 1fr;gap:16px;display:grid}@media (width<=980px){.grid{grid-template-columns:1fr}}.card{border:1px solid color-mix(in oklab, currentColor 20%, transparent);background:color-mix(in oklab, currentColor 3%, transparent);border-radius:12px;padding:16px}.muted{opacity:.8}.sig{grid-template-columns:90px 1fr;align-items:start;gap:10px;margin-top:12px;display:grid}.sigLabel{opacity:.9;font-weight:600}.sigCode{background:color-mix(in oklab, currentColor 8%, transparent);border-radius:10px;margin:0;padding:10px;overflow:auto}.editor{resize:vertical;tab-size:4;border:1px solid color-mix(in oklab, currentColor 20%, transparent);background:color-mix(in oklab, currentColor 4%, transparent);border-radius:10px;width:100%;min-height:360px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:13px}.actions{align-items:center;gap:10px;margin-top:10px;display:flex}.panel{border:1px solid color-mix(in oklab, currentColor 20%, transparent);border-radius:10px;margin-top:12px}.panel.error{border-color:color-mix(in oklab, var(--color-error) 50%, transparent)}.serverNotice{background:color-mix(in oklab, currentColor 5%, transparent)}.serverNotice--info{background:oklab(62.3083% -.0332476 -.185052/.09);border-color:oklab(62.3083% -.0332476 -.185052/.45)}.serverNotice--warning{background:oklab(76.8591% .0560995 .154808/.11);border-color:oklab(76.8591% .0560995 .154808/.55)}.serverNotice--error{border-color:color-mix(in oklab, var(--color-error) 55%, transparent);background:color-mix(in oklab, var(--color-error) 10%, transparent)}.panelTitle{border-bottom:1px solid color-mix(in oklab, currentColor 18%, transparent);padding:10px 12px;font-weight:600}.panelBody{margin:0;padding:10px 12px;overflow:auto}.celebration{border:1px solid color-mix(in oklab, var(--color-success) 55%, transparent);background:color-mix(in oklab, var(--color-success) 12%, transparent);border-radius:12px;margin-top:12px;padding:16px;animation:.22s ease-out celebration-pop}.celebrationTitle{color:var(--color-success);font-size:1.35rem;font-weight:800}.celebrationSub{opacity:.95;margin-top:4px;font-weight:600}@keyframes celebration-pop{0%{opacity:.6;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.celebration{animation:none}}.results{gap:10px;margin:0;padding:0;list-style:none;display:grid}.results li{--result-state-color:currentColor;--result-tier-color:var(--result-state-color);background:color-mix(in oklab, currentColor 5%, transparent);border-radius:10px;padding:10px 10px 10px 16px;position:relative;overflow:hidden}.results li.pass{--result-state-color:var(--color-success)}.results li.fail{--result-state-color:var(--color-error)}.results li.running{--result-state-color:#3b82f6;animation:1.1s ease-in-out infinite resultRunningPulse}.results li.running .testStatus{color:#3b82f6}@keyframes resultRunningPulse{0%,to{opacity:.55}50%{opacity:1}}.results li:before{content:"";background:linear-gradient(135deg, var(--result-state-color) 0 50%, var(--result-tier-color) 50% 100%);border-radius:10px 0 0 10px;width:6px;position:absolute;inset:0 auto 0 0}.results li.testTier--hidden{--result-tier-color:#f59e0b}.results li.testTier--serverFixed{--result-tier-color:#6d28d9}.results li.testTier--serverRandom{--result-tier-color:#c026d3}.results li.testTier--serverOther{--result-tier-color:#8b5cf6}.testName{margin-right:8px;font-weight:700}.testStatus{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.testTier--visible.pass .testStatus{color:var(--color-success)}.testTier--hidden.pass .testStatus{color:color-mix(in oklab, #f59e0b 78%, currentColor)}.testTier--serverFixed.pass .testStatus{color:color-mix(in oklab, #6d28d9 78%, currentColor)}.testTier--serverRandom.pass .testStatus{color:color-mix(in oklab, #c026d3 78%, currentColor)}.testTier--serverOther.pass .testStatus{color:color-mix(in oklab, #8b5cf6 78%, currentColor)}.results li.fail .testStatus{color:var(--color-error)}.tiny{opacity:.9;margin:8px 0 0;font-size:12px;overflow:auto}.json,.console{white-space:pre-wrap;overflow-wrap:anywhere;background:color-mix(in oklab, currentColor 6%, transparent);border:1px solid color-mix(in oklab, currentColor 18%, transparent);border-radius:10px;padding:12px}.footer{margin-top:16px}.siteFooter{border-top:1px solid color-mix(in oklab, currentColor 18%, transparent);text-align:center;margin-top:24px;padding-top:16px;font-size:.9em}.homeGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.catalogFilters{grid-template-columns:minmax(220px,1fr) minmax(160px,auto) minmax(140px,auto) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.catalogFilterField{gap:6px;font-weight:600;display:grid}.catalogFilterField input{border:1px solid color-mix(in oklab, currentColor 20%, transparent);background:color-mix(in oklab, currentColor 6%, transparent);min-width:0;color:inherit;border-radius:10px;padding:.45em .7em}.catalogSearchField{min-width:0}.catalogFilterSummary{white-space:nowrap;align-self:center;font-size:.9rem}.emptyState{margin-top:16px}@media (width<=980px){.homeGrid{grid-template-columns:1fr}}@media (width<=820px){.catalogFilters{grid-template-columns:1fr}.catalogFilterSummary{justify-self:start}}.homeSectionTitle{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.homeList{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.difficultySegments{gap:22px;margin-top:14px;display:grid}.difficultySegment{padding-top:12px;position:relative}.difficultySegment:first-child{padding-top:0}.difficultySegment:before{border-top:1px solid color-mix(in oklab, currentColor 18%, transparent);content:"";position:absolute;top:0;left:12px;right:12px}.difficultySegment:first-child:before{content:none}.difficultySegment h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}.progressSummary{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;min-width:6.5rem;font-size:.82rem;display:inline-flex}.progressSummary.complete{color:var(--color-success);opacity:1}.completeDot{background:var(--color-success);border-radius:999px;width:.55em;height:.55em;display:inline-block}.homeLink{align-items:baseline;gap:10px;text-decoration:none;display:flex}.homeLink:hover{text-decoration:underline}.homeId{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:700}.homeTitle{opacity:.9}.homeDesc{margin-top:4px;font-size:.95rem}.tagList{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.tagChip{border:1px solid color-mix(in oklab, currentColor 18%, transparent);background:color-mix(in oklab, currentColor 4%, transparent);opacity:.82;border-radius:999px;padding:2px 8px;font-size:.78rem;font-weight:700;line-height:1.5}.auth,.authRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.authAlternateRow{flex-basis:100%;justify-content:flex-start}.authEmail{opacity:.9;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem}.authSecondaryButton{opacity:.78}.authSecondaryButton:hover:not(:disabled),.authSecondaryButton:focus-visible:not(:disabled){opacity:1}.authStatusLine{flex-basis:100%}.authStatus{border:1px solid color-mix(in oklab, currentColor 20%, transparent);background:color-mix(in oklab, currentColor 7%, transparent);border-radius:10px;min-width:320px;max-width:720px;padding:6px 9px;font-size:.9rem;font-weight:600;display:inline-block}.authStatus--info{color:color-mix(in oklab, #3b82f6 70%, currentColor);background:oklab(62.3083% -.0332476 -.185052/.12);border-color:oklab(62.3083% -.0332476 -.185052/.45)}.authStatus--warning{color:color-mix(in oklab, #f59e0b 70%, currentColor);background:oklab(76.8591% .0560995 .154808/.14);border-color:oklab(76.8591% .0560995 .154808/.55)}.authStatus--error{color:color-mix(in oklab, #ef4444 72%, currentColor);background:oklab(63.6834% .187864 .0889286/.13);border-color:oklab(63.6834% .187864 .0889286/.58)}.testDataNote{margin-top:8px}.badge{border:1px solid color-mix(in oklab, currentColor 20%, transparent);white-space:nowrap;background:color-mix(in oklab, currentColor 5%, transparent);border-radius:999px;align-items:center;padding:2px 8px;font-size:.78rem;font-weight:700;line-height:1.5;display:inline-flex}.progressBadge{justify-content:center;min-width:7.75rem}.problemSolveSummary{gap:4px;margin-top:8px;display:grid}.problemProgressLine{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.solveCountText{font-size:.9rem}.problemSolveError{margin-top:-2px}.badge.solved{border-color:color-mix(in oklab, var(--color-success) 55%, transparent);background:color-mix(in oklab, var(--color-success) 12%, transparent);color:var(--color-success)}.badge.studentProblem{color:#be185d;background:oklab(65.592% .210729 -.0210022/.12);border-color:oklab(65.592% .210729 -.0210022/.5)}:root[data-theme=dark] .badge.studentProblem{color:#f9a8d4}.badge.problemOwner{color:#b45309;background:oklab(76.8591% .0560995 .154808/.14);border-color:oklab(76.8591% .0560995 .154808/.55)}:root[data-theme=dark] .badge.problemOwner{color:#fbbf24}.detailBadges{flex-wrap:wrap;gap:8px;margin:-2px 0 10px;display:flex}.badge.detailBadge{width:fit-content;display:flex}a.crossSiteBadge{cursor:pointer;text-decoration:none}a.crossSiteBadge:hover{filter:brightness(1.06)}.badge.unsolved{opacity:.85}.badge.difficultyEasy{border-color:color-mix(in oklab, var(--color-success) 50%, transparent);background:color-mix(in oklab, var(--color-success) 12%, transparent);color:var(--color-success)}.badge.difficultyMedium{color:#b45309;background:oklab(76.8591% .0560995 .154808/.14);border-color:oklab(76.8591% .0560995 .154808/.55)}:root[data-theme=dark] .badge.difficultyMedium{color:#fbbf24}.badge.difficultyHard{border-color:color-mix(in oklab, var(--color-error) 50%, transparent);background:color-mix(in oklab, var(--color-error) 12%, transparent);color:var(--color-error)}.authorByline{color:color-mix(in oklab, currentColor 70%, transparent);margin:-2px 0 8px;font-size:.95rem}.authorBylineLabel{color:color-mix(in oklab, currentColor 85%, transparent);font-weight:600}.authorAnonymous{color:color-mix(in oklab, currentColor 60%, transparent);font-style:italic}.authorName{font-weight:600}.authorLink{color:#2563eb;font-weight:600;text-decoration:none}.authorLink:hover{text-decoration:underline}:root[data-theme=dark] .authorLink{color:#60a5fa}.authorConsentToggle{color:color-mix(in oklab, currentColor 75%, transparent);cursor:pointer;align-items:center;gap:.5rem;margin:0 0 10px;font-size:.9rem;display:flex}.authorConsentToggle input{cursor:pointer}.authorConsentToggle input:disabled{cursor:default}.authorDisplayPref{color:color-mix(in oklab, currentColor 75%, transparent);border:0;flex-wrap:wrap;align-items:center;gap:.25rem .9rem;margin:0;padding:0;font-size:.85rem;display:flex}.authorDisplayPref legend{color:color-mix(in oklab, currentColor 85%, transparent);padding:0;font-weight:600}.authorDisplayPref label{cursor:pointer;align-items:center;gap:.35rem;display:inline-flex}.authorDisplayPref:disabled,.authorDisplayPref:disabled label{cursor:default;opacity:.7}.authorDisplayPrefHint{color:color-mix(in oklab, currentColor 60%, transparent);flex-basis:100%;margin:0;font-size:.8rem;font-style:italic}.answerBox{gap:8px;margin-top:12px;font-weight:600;display:grid}.answerBox input{border:1px solid color-mix(in oklab, currentColor 20%, transparent);background:color-mix(in oklab, currentColor 4%, transparent);max-width:260px;color:inherit;border-radius:10px;padding:.6em .75em}.sqlTableWrap{margin:.5rem 0;overflow-x:auto}.sqlTable{border-collapse:collapse;font-size:.9rem}.sqlTable th,.sqlTable td{border:1px solid color-mix(in oklab, currentColor 20%, transparent);text-align:left;padding:.25rem .6rem}.sqlTable th{background:color-mix(in oklab, currentColor 8%, transparent);font-weight:600}
