.badge-wall{gap:22px;display:grid}.badge-board{background:var(--route-dots), var(--route-navy);color:var(--route-white);border-radius:14px;padding:18px 22px 20px}.badge-board-head{align-items:center;gap:14px;margin-bottom:16px;display:flex}.badge-board-head h2{font:700 18px/1.2 var(--font-route);margin:0}.badge-board-head p{color:var(--route-white-3);font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:13px}.badge-board-head .route-roundel{border-color:var(--route-slate);color:var(--route-white-3)}.badge-board-head .route-roundel[data-earned]{border-color:var(--route-amber);color:var(--route-amber);box-shadow:0 0 14px #ffb23f73}.badge-stops{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:14px 6px;margin:0;padding:0;list-style:none;display:grid}.badge-stops li{justify-items:center;gap:6px;min-width:0;display:grid}.badge-stop-roundel{background:radial-gradient(circle, var(--route-navy) 0 14px, transparent 14.5px), conic-gradient(var(--route-line) calc(var(--frac) * 1turn), var(--route-led-off) 0);width:38px;height:38px;color:var(--route-white-3);font:800 12px/1 var(--font-route);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;display:grid}.badge-stops li[data-earned] .badge-stop-roundel{background:radial-gradient(circle, var(--route-navy) 0 12px, transparent 12.5px), var(--route-line);color:var(--route-white);box-shadow:0 0 12px #2ebd8580}.badge-stop-name{max-width:100%;color:var(--route-white-3);text-align:center;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.3;display:-webkit-box;overflow:hidden}.badge-stops li[data-earned] .badge-stop-name{color:var(--route-white)}.badge-heading{font:700 15px/1.3 var(--font-route);color:var(--route-navy);margin:0 0 10px}.badge-medals{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.badge-medal{background:#fff;border:1px dashed #c9d2dc;border-radius:10px;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;padding:10px 12px;display:grid}.badge-medal-face{color:#7a8696;width:40px;height:40px;font:800 14px/1 var(--font-route);font-variant-numeric:tabular-nums;border-radius:50%;grid-row:1/3;place-items:center;display:grid;box-shadow:inset 0 0 0 2px #c9d2dc}.badge-medal-name{color:#27343e;font-size:13px;font-weight:600;line-height:1.3}.badge-medal-state{color:#66717c;font-variant-numeric:tabular-nums;font-size:12px}.badge-medal[data-earned]{background:linear-gradient(135deg,#fff8ec,#fff);border-style:solid;border-color:#ffb23f99}.badge-medal[data-earned] .badge-medal-face{background:var(--route-amber);box-shadow:0 0 0 3px #fff, 0 0 0 4px var(--route-amber);color:var(--route-navy)}.badge-medal[data-earned] .badge-medal-state{color:#8a5a00;font-weight:600}.badge-feature{color:#27343e;font:inherit;cursor:pointer;background:#fff;border:1px solid #c9d2dc;border-radius:999px;grid-column:2;justify-self:start;margin-top:6px;padding:3px 10px;font-size:12px;font-weight:600}.badge-feature[aria-pressed=true]{border-color:var(--route-amber);background:var(--route-amber);color:var(--route-navy)}.badge-feature:focus-visible{outline-offset:2px;outline:2px solid}.badge-empty{color:#66717c;margin:0;font-size:13px}@media (prefers-reduced-motion:no-preference){.badge-stops li[data-earned] .badge-stop-roundel,.badge-medal[data-earned] .badge-medal-face{animation:.32s cubic-bezier(.2,.8,.3,1.3) backwards badge-stamp;animation-delay:calc(var(--k) * 24ms)}}@keyframes badge-stamp{0%{opacity:0;transform:scale(1.6)rotate(-12deg)}}.cs-accepted-extras{justify-items:center;gap:6px;margin-top:10px;display:grid}.cs-accepted-extras>*{align-items:center;gap:6px;margin:0;font-size:13px;display:inline-flex}.cs-accepted-unlock{color:#7a4d00;background:#fff4dc;border-radius:999px;padding:4px 12px;font-weight:600}.cs-accepted-unlock svg{color:#d98a00}.cs-accepted-freeze{color:#4b5563}.cs-accepted-freeze svg{color:#2f8fd8}@media screen{.dark .badge-board{background:var(--route-dots), var(--route-navy);color:var(--route-white)}.dark .badge-board-head p{color:var(--route-white-3)}.dark .badge-board-head .route-roundel{border-color:var(--route-slate);color:var(--route-white-3)}.dark .badge-board-head .route-roundel[data-earned]{border-color:var(--route-amber);color:var(--route-amber);box-shadow:0 0 14px #ffb23f73}.dark .badge-stop-roundel{background:radial-gradient(circle, var(--route-navy) 0 14px, transparent 14.5px), conic-gradient(var(--route-line) calc(var(--frac) * 1turn), var(--route-led-off) 0);color:var(--route-white-3)}.dark .badge-stops li[data-earned] .badge-stop-roundel{background:radial-gradient(circle, var(--route-navy) 0 12px, transparent 12.5px), var(--route-line);color:var(--route-white);box-shadow:0 0 12px #2ebd8580}.dark .badge-stop-name{color:var(--route-white-3)}.dark .badge-stops li[data-earned] .badge-stop-name{color:var(--route-white)}.dark .badge-heading{color:#d6e4f9}.dark .badge-medal{background:#191919;border:1px dashed #30373f}.dark .badge-medal-face{color:#a7b2c0;box-shadow:inset 0 0 0 2px #30373f}.dark .badge-medal-name{color:#cbd9e4}.dark .badge-medal-state{color:#b5bfc9}.dark .badge-medal[data-earned]{background:linear-gradient(135deg,#19150f,#191919);border-style:solid;border-color:#ffb23f99}.dark .badge-medal[data-earned] .badge-medal-face{background:var(--route-amber);box-shadow:0 0 0 3px #252525, 0 0 0 4px var(--route-amber);color:var(--route-navy)}.dark .badge-medal[data-earned] .badge-medal-state{color:#e6b97e}.dark .badge-feature{color:#cbd9e4;background:#191919;border:1px solid #30373f}.dark .badge-feature[aria-pressed=true]{border-color:var(--route-amber);background:var(--route-amber);color:var(--route-navy)}.dark .badge-feature:focus-visible{outline:2px solid}.dark .badge-empty{color:#b5bfc9}.dark .cs-accepted-unlock{color:#eabe8a;background:#191306}.dark .cs-accepted-unlock svg{color:#e5a14c}.dark .cs-accepted-freeze{color:#bfc9d7}.dark .cs-accepted-freeze svg{color:#6db8f8}}.cs-review-grade{border:0;justify-items:center;gap:8px;min-width:0;margin:16px 0 0;padding:0;display:grid}.cs-review-grade legend{color:#374151;margin:0 auto 8px;padding:0;font-size:13px}.cs-review-grade-buttons{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.cs-review-grade .cs-review-grade-note{color:#6b7280;max-width:30em;margin:0;font-size:12px;line-height:1.6}.review-forecast{background:#fff;border:1px solid #dce1e6;border-radius:12px;gap:8px;margin-bottom:14px;padding:14px 16px;display:grid}.review-forecast h2{color:#1d252d;font:700 15px/1.3 var(--font-route);margin:0}.review-forecast-summary,.review-forecast-note{color:#4d5862;font-variant-numeric:tabular-nums;margin:0;font-size:13px;line-height:1.6}.review-forecast-note{color:#66717c;font-size:12px}.review-forecast-bars{border-bottom:1px solid #7d8792;align-items:flex-end;gap:2px;height:64px;margin:4px 0 0;padding:0;list-style:none;display:flex}.review-forecast-bars li{flex:1;align-items:flex-end;height:100%;display:flex}.review-forecast-bars span{background:#5f86b0;border-radius:2px 2px 0 0;width:100%;min-height:0}.review-forecast-bars li[data-today] span{background:#b45309}.review-forecast-axis{color:#66717c;justify-content:space-between;font-size:11px;display:flex}.review-forecast-settings{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.review-forecast-settings label,.review-forecast-break{color:#27343e;align-items:center;gap:8px;font-size:13px;display:inline-flex}.review-forecast-settings select{color:#27343e;font:inherit;background:#fff;border:1px solid #7d8792;border-radius:8px;padding:5px 8px}.review-forecast-settings select:focus-visible{outline-offset:2px;outline:2px solid #327b76}@media screen{.dark .cs-review-grade{border:0}.dark .cs-review-grade legend{color:#c7d2e2}.dark .cs-review-grade .cs-review-grade-note{color:#b6bdca}.dark .review-forecast{background:#191919;border:1px solid #2d3135}.dark .review-forecast h2{color:#d6dfe8}.dark .review-forecast-summary,.dark .review-forecast-note{color:#bec9d3}.dark .review-forecast-note{color:#b5bfc9}.dark .review-forecast-bars{border-bottom:1px solid #7d8792}.dark .review-forecast-bars span{background:#5f86b0}.dark .review-forecast-bars li[data-today] span{background:#b45309}.dark .review-forecast-axis{color:#b5bfc9}.dark .review-forecast-settings label,.dark .review-forecast-break{color:#cbd9e4}.dark .review-forecast-settings select{color:#cbd9e4;background:#191919;border:1px solid #7d8792}.dark .review-forecast-settings select:focus-visible{outline:2px solid #90ccc7}}
