@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600;700;800&display=swap";.global-search-dialog{border:1px solid var(--border);background:var(--bg);width:min(660px,100% - 32px);max-width:none;max-height:calc(100dvh - 140px);color:var(--fg);border-radius:8px;margin:min(12dvh,100px) auto 0;padding:0;overflow:hidden;box-shadow:0 24px 80px #0000003d}.global-search-dialog[open]{flex-direction:column;animation:.14s ease-out global-search-appear;display:flex}.global-search-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000006b}.global-search-field{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;padding:12px 16px;display:flex}.global-search-field>svg{color:var(--muted);flex-shrink:0}.global-search-field input{-webkit-user-select:text;user-select:text;background:0 0;border:0;border-radius:0;outline:none;flex:1;width:100%;min-width:0;height:38px;padding:0;font-size:16px}.global-search-field input::placeholder{color:var(--muted)}.global-search-close{width:34px;height:34px;color:var(--muted);background:0 0;border:0;border-radius:4px;flex:0 0 34px;justify-content:center;align-items:center;padding:0;display:inline-flex}.global-search-close:hover{background:var(--card);color:var(--fg)}.global-search-close:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.global-search-summary{color:var(--muted);flex-shrink:0;justify-content:space-between;gap:12px;padding:13px 18px 7px;font-size:10px;display:flex}.global-search-results{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;max-height:min(55dvh,430px);margin:0;padding:5px 8px 8px;list-style:none;overflow-y:auto}.global-search-result{cursor:pointer;border-radius:5px;grid-template-columns:23px minmax(0,1fr) 18px;align-items:center;gap:12px;min-height:64px;padding:11px 12px;display:grid}.global-search-result[aria-selected=true]{background:var(--card)}.global-search-result>svg{color:var(--muted)}.global-search-result[aria-selected=true]>svg{color:var(--fg)}.global-search-result-copy{overflow-wrap:anywhere;min-width:0}.global-search-result-title{font-size:13px;font-weight:600;line-height:1.55;display:block}.global-search-result-subtitle{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.6;display:block}.global-search-empty{text-align:center;color:var(--muted);overflow-wrap:anywhere;margin:0;padding:30px 24px 45px;font-size:13px;line-height:1.8;overflow-y:auto}.global-search-empty strong{color:var(--fg);font-weight:500}@keyframes global-search-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.global-search-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 40px);margin-top:20px}.global-search-results{max-height:calc(100dvh - 150px)}.global-search-field{gap:9px;padding-inline:12px}.global-search-result{gap:9px;padding-inline:9px}}@media (prefers-reduced-motion:reduce){.global-search-dialog[open]{animation:none}}:root{--bg:#fff;--fg:#111;--muted:#525252;--card:#f5f5f5;--border:#d4d4d4;--control-height:40px;--journey-accent:#087e67}html.dark{--bg:#000;--fg:#f5f5f5;--muted:#a3a3a3;--card:#111;--border:#404040;--journey-accent:#6eddbb}html{background:var(--bg);color:var(--fg)}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,monospace}html,body,#root{background:var(--bg);height:100%;min-height:100%;color:var(--fg);margin:0}body{background:var(--bg)}button,input,select,a{font:inherit}.selectable{-webkit-user-select:text;user-select:text}.app-shell{max-width:1100px;margin:0 auto;padding:24px 20px 60px}.dashboard-shell{flex-direction:column;min-height:100dvh;padding-bottom:14px;display:flex}.dashboard-status{min-height:18px;margin-bottom:8px}.dashboard-status p{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;line-height:1.3;overflow:hidden}.dashboard-status-error{color:#dc143c}.dashboard-status-success{color:green}.dashboard-grid{flex:1;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:10px;min-height:0}.dashboard-section{margin-bottom:24px}.dashboard-section:last-of-type{flex:1}.dashboard-section>h2{margin:0 0 12px;font-size:18px}.dashboard-journeys{grid-template-columns:repeat(3,minmax(0,1fr))}.problem-set-icon{flex-shrink:0}.dashboard-journeys .problem-set-icon{color:var(--journey-accent)}.dashboard-journeys progress,.journey-progress progress{appearance:none;background:var(--border);width:100%;height:4px;color:var(--journey-accent);border:none;border-radius:2px;display:block;overflow:hidden}.dashboard-journeys progress::-webkit-progress-bar{background:var(--border)}.journey-progress progress::-webkit-progress-bar{background:var(--border)}.dashboard-journeys progress::-webkit-progress-value{background:var(--journey-accent)}.journey-progress progress::-webkit-progress-value{background:var(--journey-accent)}.dashboard-journeys progress::-moz-progress-bar{background:var(--journey-accent)}.journey-progress progress::-moz-progress-bar{background:var(--journey-accent)}.dashboard-set-link{color:inherit;border-radius:8px;min-width:0;min-height:0;text-decoration:none;position:relative}.card.dashboard-set-card{border-radius:8px;flex-direction:column;gap:10px;height:100%;min-height:156px;padding:16px;display:flex}.dashboard-set-link:hover .dashboard-set-card,.dashboard-set-link:focus-visible .dashboard-set-card{border-color:var(--fg)}.dashboard-set-link:focus-visible{outline:2px solid var(--fg);outline-offset:4px}.dashboard-set-card h3,.dashboard-set-card p,.dashboard-set-card small{margin:0}.dashboard-set-card h3{overflow-wrap:anywhere;align-items:center;gap:10px;min-height:2.5em;font-size:15px;line-height:1.25;display:flex}.dashboard-set-card h3 span{min-width:0}.dashboard-set-card p{min-height:3em;color:var(--muted);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.dashboard-set-card small{overflow-wrap:anywhere;color:var(--muted);margin-top:auto;font-size:12px;line-height:1.5}.dashboard-footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);margin-top:10px;padding-top:10px;font-size:12px;line-height:1.2}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:12px 0 20px;display:flex}.brand{align-items:center;line-height:0;text-decoration:none;display:inline-flex}.brand img{width:auto;height:38px;display:block}.header-right{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.header-link-chip,.user-icon-chip,.sync-icon-button,.theme-toggle-button{height:var(--control-height);border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative;overflow:visible}.header-link-chip:after,.user-icon-chip:after,.sync-icon-button:after,.theme-toggle-button:after,.dashboard-set-link:after{content:"";background:var(--fg);offset-path:inset(0 round 8px);offset-distance:0%;offset-rotate:0deg;opacity:0;pointer-events:none;border-radius:50%;width:4px;height:4px;position:absolute;top:0;left:0}.header-link-chip{color:var(--muted);padding:0 12px}.header-link-chip:hover{color:var(--fg);border-color:var(--fg)}.header-link-chip:hover:after,.header-link-chip:focus-visible:after,.user-icon-chip:hover:after,.user-icon-chip:focus-visible:after,.theme-toggle-button:hover:after,.theme-toggle-button:focus-visible:after,.sync-icon-button:not(:disabled):hover:after,.sync-icon-button:not(:disabled):focus-visible:after{opacity:1;animation:1.05s linear infinite header-dot-race}.dashboard-set-link:hover:after,.dashboard-set-link:focus-visible:after{opacity:1;animation:3s linear infinite header-dot-race}.user-icon-chip,.sync-icon-button,.theme-toggle-button{width:var(--control-height);min-width:var(--control-height);padding:0}.user-icon-chip svg,.sync-icon-button svg,.theme-toggle-button svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.user-icon-chip:hover,.theme-toggle-button:hover,.sync-icon-button:not(:disabled):hover,.sync-icon-button:not(:disabled):focus-visible,.user-icon-chip:focus-visible,.theme-toggle-button:focus-visible,.header-link-chip:focus-visible{border-color:var(--fg)}.sync-icon-button.syncing svg{animation:.9s linear infinite spin-sync}.sync-icon-button:disabled{opacity:.8;cursor:wait}@keyframes spin-sync{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes header-dot-race{0%{offset-distance:0%}to{offset-distance:100%}}@media (prefers-reduced-motion:reduce){.header-link-chip:after,.user-icon-chip:after,.sync-icon-button:after,.theme-toggle-button:after,.dashboard-set-link:after{animation:none!important}}.header-right a{text-decoration:none}.leaderboard-table{border:1px solid var(--border);border-radius:10px;overflow:hidden}.leaderboard-head,.leaderboard-row{grid-template-columns:80px 1fr 100px;align-items:center;gap:12px;padding:10px 12px;display:grid}.leaderboard-head{background:var(--card);border-bottom:1px solid var(--border);font-weight:700}.leaderboard-row{border-bottom:1px solid var(--border)}.leaderboard-row:last-child{border-bottom:none}.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=700px){.grid-2{grid-template-columns:1fr}}@media (width<=1100px){.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.dashboard-shell{height:auto;max-height:none;padding-bottom:30px;overflow:visible}.dashboard-status{min-height:0;margin-bottom:12px}.dashboard-status p{white-space:normal}.dashboard-grid{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:auto}}@media (width<=700px){.dashboard-grid{grid-template-columns:1fr}}input,select,button{height:var(--control-height);border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:10px;padding:0 12px}button{cursor:pointer}button.primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.problem-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 10px;display:flex}.problem-check{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:6px;width:22px;min-width:22px;height:22px;padding:0;position:relative}.problem-check.checked{background:var(--fg);border-color:var(--fg)}.problem-check.checked:after{content:"";border:solid var(--bg);border-width:0 2px 2px 0;width:6px;height:12px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.problem-check:disabled{opacity:.6;cursor:wait}.problem-row:last-child{border-bottom:none}.problem-name{min-width:0;color:var(--fg);flex:1;text-decoration:none}.platform-links{flex-wrap:wrap;gap:6px;display:flex}.platform-links a{color:var(--muted);border:1px solid var(--border);border-radius:6px;padding:2px 7px;font-size:10px;text-decoration:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.settings-content{max-width:880px}.settings-heading h1{margin:0 0 8px}.settings-heading p,.settings-section-heading p,.practice-access-note,.platform-focus{color:var(--muted);font-size:13px;line-height:1.6}.settings-section{border-bottom:1px solid var(--border);padding:28px 0}.settings-section h2{margin:0 0 12px;font-size:18px}.settings-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;display:flex}.settings-section-heading p{margin:0}.settings-section a{color:var(--fg);text-underline-offset:4px}.settings-section-heading>a{font-size:13px}.practice-platform-table{table-layout:fixed;border-collapse:collapse;width:100%;margin:20px 0;font-size:13px}.practice-platform-table th,.practice-platform-table td{text-align:left;border-bottom:1px solid var(--border);overflow-wrap:anywhere;padding:14px 10px}.practice-platform-table th:first-child{width:64%;padding-left:0}.practice-platform-table thead th{color:var(--muted);font-size:12px;font-weight:500}.platform-focus{margin-top:4px;font-size:12px;font-weight:400;display:block}.settings-form{gap:12px;max-width:480px;display:grid}.settings-field{gap:6px;display:grid}.settings-field input{width:100%;min-width:0}.problem-set-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;padding:16px 0;font-size:13px;display:flex}.problem-set-toolbar select{min-width:160px;max-width:100%}.problem-set-toolbar [role=status]{color:var(--muted)}.problem-topics{margin-top:24px}@media (width<=560px){.practice-platform-table th:first-child{width:56%}.practice-platform-table th,.practice-platform-table td{padding-left:4px;padding-right:4px}.problem-row{gap:8px;padding-left:0;padding-right:0}.problem-name{overflow-wrap:anywhere}}.settings-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.settings-actions button{min-width:150px}footer{border-top:1px solid var(--border);text-align:center;color:var(--muted);margin-top:32px;padding-top:18px}
