:root{--bs-body-bg:var(--bg-page);--bs-body-color:var(--text-primary);--bs-body-font-family:var(--font-body);--bs-secondary-color:var(--text-muted);--bs-border-color:var(--border-default);--bs-border-radius:var(--radius);--bs-border-radius-sm:var(--radius-sm);--bs-border-radius-lg:var(--radius-lg);--bs-primary:var(--green-800);--bs-primary-rgb:30,87,65;--bs-link-color:var(--green-800);--bs-link-color-rgb:30,87,65;--bs-link-hover-color:var(--green-900);--bs-link-hover-color-rgb:20,60,45;--bs-success-rgb:39,106,80;--bs-danger:var(--red-700);--bs-danger-rgb:160,50,50;--bs-warning-rgb:154,109,12;--bs-focus-ring-color:var(--focus-ring-color)}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body)}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-color:var(--brand-contrast);--bs-btn-hover-bg:var(--brand-hover);--bs-btn-hover-border-color:var(--brand-hover);--bs-btn-hover-color:var(--brand-contrast);--bs-btn-active-bg:var(--brand-hover);--bs-btn-active-border-color:var(--brand-hover);--bs-btn-active-color:var(--brand-contrast);--bs-btn-disabled-bg:var(--brand);--bs-btn-disabled-border-color:var(--brand);--bs-btn-disabled-color:var(--brand-contrast);--bs-btn-focus-shadow-rgb:30,87,65}.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand);--bs-btn-hover-color:var(--brand-contrast);--bs-btn-active-bg:var(--brand);--bs-btn-active-border-color:var(--brand);--bs-btn-active-color:var(--brand-contrast);--bs-btn-disabled-color:var(--brand);--bs-btn-disabled-border-color:var(--brand);--bs-btn-focus-shadow-rgb:30,87,65}.btn-outline-info{--bs-btn-color:var(--accent-brass-deep);--bs-btn-border-color:var(--accent-brass);--bs-btn-hover-bg:var(--accent-brass);--bs-btn-hover-border-color:var(--accent-brass);--bs-btn-hover-color:var(--fill-ink);--bs-btn-active-bg:var(--accent-brass);--bs-btn-active-border-color:var(--accent-brass);--bs-btn-active-color:var(--fill-ink);--bs-btn-focus-shadow-rgb:176,141,62}.btn-info{--bs-btn-bg:var(--accent-brass);--bs-btn-border-color:var(--accent-brass);--bs-btn-color:var(--fill-ink);--bs-btn-hover-bg:var(--accent-brass-deep);--bs-btn-hover-border-color:var(--accent-brass-deep);--bs-btn-hover-color:var(--fill-ink);--bs-btn-active-bg:var(--accent-brass-deep);--bs-btn-active-border-color:var(--accent-brass-deep);--bs-btn-active-color:var(--fill-ink)}.btn-outline-secondary{--bs-btn-color:var(--text-secondary);--bs-btn-border-color:var(--border-strong);--bs-btn-hover-bg:var(--bg-inset);--bs-btn-hover-border-color:var(--border-strong);--bs-btn-hover-color:var(--text-primary);--bs-btn-active-bg:var(--bg-inset);--bs-btn-active-border-color:var(--border-strong);--bs-btn-active-color:var(--text-primary);--bs-btn-disabled-color:var(--text-muted);--bs-btn-disabled-border-color:var(--border-default)}.btn-danger{--bs-btn-bg:var(--danger);--bs-btn-border-color:var(--danger);--bs-btn-hover-bg:var(--red-700);--bs-btn-hover-border-color:var(--red-700)}.btn-outline-danger{--bs-btn-color:var(--danger);--bs-btn-border-color:var(--danger);--bs-btn-hover-bg:var(--danger);--bs-btn-hover-border-color:var(--danger);--bs-btn-hover-color:var(--fill-ink);--bs-btn-active-bg:var(--danger);--bs-btn-active-border-color:var(--danger);--bs-btn-active-color:var(--fill-ink)}.btn-success{--bs-btn-bg:var(--success);--bs-btn-border-color:var(--success);--bs-btn-hover-bg:var(--green-800);--bs-btn-hover-border-color:var(--green-800);--bs-btn-active-bg:var(--green-800);--bs-btn-active-border-color:var(--green-800)}input[type="radio"],input[type="checkbox"]{accent-color:var(--brand)}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:var(--focus-ring)}.form-check-input:checked{background-color:var(--brand);border-color:var(--brand)}.form-check-input:focus{border-color:var(--brand);box-shadow:var(--focus-ring)}.form-switch .form-check-input:focus:not(:checked){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%231e5741'/%3e%3c/svg%3e")}.nav-pills{--bs-nav-pills-link-active-bg:var(--brand);--bs-nav-pills-link-active-color:var(--brand-contrast)}.nav-link{color:var(--brand)}.nav-link:hover,.nav-link:focus{color:var(--brand-hover)}.card,.modal-content{background-color:var(--bg-surface);border-color:var(--border-default)}.badge.text-bg-primary,.badge.bg-primary{background-color:var(--brand)!important;color:var(--brand-contrast)!important}.dropdown-item.active,.dropdown-item:active{background-color:var(--brand);color:var(--brand-contrast)}.page-link{color:var(--brand)}.page-item.active .page-link{background-color:var(--brand);border-color:var(--brand)}.text-primary{color:var(--brand)!important}.text-info{color:var(--accent-brass-deep)!important}.progress-bar{background-color:var(--brand)}.alert-success{--bs-alert-bg:var(--success-soft);--bs-alert-color:var(--green-900);--bs-alert-border-color:var(--green-100)}.alert-danger{--bs-alert-bg:var(--danger-soft);--bs-alert-color:var(--danger);--bs-alert-border-color:var(--danger-soft)}.alert-warning{--bs-alert-bg:var(--warning-soft);--bs-alert-color:var(--warning);--bs-alert-border-color:var(--warning-soft)}.navbar.bg-dark{background-color:var(--green-900)!important}.navbar-dark .navbar-brand{font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:0.01em}.navbar-dark .navbar-nav .nav-link{color:var(--nav-link-ink)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:var(--nav-current-ink)}.navbar-dark .navbar-nav .nav-link.active{color:var(--nav-current-ink)}.navbar-dark .navbar-brand.brand-logo{font-size:var(--wordmark-size);font-family:var(--wordmark-font);font-weight:var(--wordmark-weight);letter-spacing:var(--wordmark-tracking);color:var(--wordmark-ink);line-height:1;position:relative;top:-2.5px}.brand-logo .brand-cursor{border-bottom:2.5px solid var(--accent-brass);padding-bottom:var(--space-hair)}.brand-logo .brand-tm{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:var(--wordmark-tm-size);font-weight:var(--fw-semibold);vertical-align:super;line-height:0;margin-left:var(--wordmark-tm-gap);letter-spacing:0;top:0}@media (max-width:575.98px){.navbar-dark .navbar-brand.brand-logo{font-size:var(--wordmark-size-phone);position:absolute;left:50%;top:calc(var(--nav-h) / 2);transform:translate(-50%,-50%);margin:0}.navbar-dark .navbar-brand.brand-logo + .navbar-toggler{margin-left:auto}}h1,h2{font-family:var(--font-display);font-weight:var(--fw-medium);letter-spacing:-0.005em}h1,h2,h3{color:var(--text-primary);text-wrap:balance}.stat-mono,#live-stats,.wpm-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums}