/*
 * Forest Frontier v0.10.0-rc52 — Patrol screen contract.
 * Structural consolidation only. This late-loaded screen layer owns the
 * active Patrol entry, start, running, authority warning and result states.
 * Mechanics, economy, authority and public DOM contracts are unchanged.
 */

/* Source replay: css/v0.10.0.css */

.patrol-map-card {
  position: relative;
  overflow: hidden;
}

.patrol-map-card::after {
  content: '';
  position: absolute;
  inset: auto -12% -55% 28%;
  height: 85%;
  background: radial-gradient(ellipse,rgba(128,153,120,.22),transparent 68%);
  pointer-events: none;
}

.patrol-screen-panel,
.patrol-content {
  display: grid;
  gap: 14px;
}

.patrol-screen-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.patrol-screen-head h2 {
  margin: 2px 0 0;
}

.patrol-rules {
  padding: 12px;
  border: 1px solid rgba(159,172,139,.25);
  border-radius: 12px;
  background: rgba(22,27,22,.74);
}

.patrol-rules p {
  margin: 10px 0 0;
  color: var(--text-muted,#b9b0a5);
  line-height: 1.5;
}

.patrol-locked-panel,
.patrol-start-card,
.patrol-active-card,
.patrol-result-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(159,172,139,.28);
  border-radius: 15px;
  background: linear-gradient(155deg,rgba(31,38,31,.94),rgba(17,20,18,.98));
}

.patrol-balance {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 13px;
  border-radius: 12px;
  background: rgba(107,129,96,.15);
}

.patrol-balance strong {
  font-size: 1.25rem;
}

.patrol-location-grid,
.patrol-duration-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
}

.patrol-location-button,
.patrol-duration-button {
  display: grid;
  gap: 3px;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(177,182,153,.25);
  border-radius: 11px;
  background: rgba(34,39,32,.86);
  color: inherit;
  text-align: left;
}

.patrol-location-button.active,
.patrol-duration-button.active {
  border-color: rgba(193,178,108,.7);
  background: rgba(91,78,39,.35);
}

.patrol-location-button small,
.patrol-duration-button small {
  color: var(--text-muted,#b9b0a5);
}

.patrol-preview-grid,
.patrol-result-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
}

.patrol-preview-grid span,
.patrol-result-grid span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.2);
  font-size: .78rem;
}

.patrol-preview-grid strong,
.patrol-result-grid strong {
  font-size: .94rem;
}

.patrol-timer {
  font-size: 2rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-align: center;
}

.patrol-active-meta,
.patrol-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  flex-wrap: wrap;
}

.patrol-warning,
.patrol-reference-warning {
  margin: 0;
  color: #d5b384;
  font-size: .78rem;
  line-height: 1.45;
}

@media (max-width:720px) {
  .patrol-location-grid,
  .patrol-duration-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px) {
  .patrol-preview-grid,
  .patrol-result-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

@media (max-width:720px) {
  .patrol-screen-head {
    align-items: flex-start;
  }
}

/* Source replay: css/v0.10.0-rc28.css */

.patrol-action-status {
  margin: 8px 0 0;
  padding: 9px 11px;
  border: 1px solid rgba(118,170,127,.35);
  border-radius: 10px;
  background: rgba(36,78,45,.22);
  color: #d9efd8;
  font-size: .82rem;
  line-height: 1.35;
}

.patrol-action-status.error {
  border-color: rgba(213,105,82,.48);
  background: rgba(102,42,31,.25);
  color: #ffd8cb;
}

body.theme-ashen .patrol-start-card-compact {
  display: grid;
  gap: 10px;
  padding: 12px !important;
}

body.theme-ashen .patrol-start-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body.theme-ashen .patrol-start-header h3 {
  margin: 1px 0 0;
  font-size: 20px;
}

body.theme-ashen .patrol-balance {
  min-width: 92px;
  padding: 7px 10px !important;
  text-align: right;
  border: 1px solid rgba(192,158,90,.32);
  border-radius: 11px;
  background: rgba(15,22,19,.8);
}

body.theme-ashen .patrol-balance span {
  display: block;
  font-size: 9px;
  color: #9ba8a2;
  text-transform: uppercase;
  letter-spacing: .08em;
}

body.theme-ashen .patrol-balance strong {
  font-size: 18px;
  color: #e4c77e;
}

body.theme-ashen .patrol-section-block {
  display: grid;
  gap: 7px;
  padding: 9px;
  border: 1px solid rgba(118,150,139,.24);
  border-radius: 12px;
  background: rgba(8,16,14,.58);
}

body.theme-ashen .patrol-location-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px !important;
}

body.theme-ashen .patrol-location-grid-relevant {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

body.theme-ashen .patrol-location-button {
  min-height: 66px !important;
  padding: 8px !important;
  text-align: left;
}

body.theme-ashen .patrol-location-button strong {
  display: block;
  font-size: 12px;
  line-height: 1.2;
}

body.theme-ashen .patrol-location-button small {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  line-height: 1.2;
  color: #98a69f;
}

body.theme-ashen .patrol-other-locations {
  border-top: 1px solid rgba(122,152,141,.18);
  padding-top: 6px;
}

body.theme-ashen .patrol-other-locations>summary,
body.theme-ashen .patrol-dev-details>summary {
  cursor: pointer;
  color: #aebcb5;
  font-size: 11px;
  font-weight: 800;
}

body.theme-ashen .patrol-other-locations>.patrol-location-grid {
  margin-top: 7px;
}

body.theme-ashen .patrol-conditions-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body.theme-ashen .patrol-conditions-heading span {
  font-size: 10px;
  color: #9eaaa5;
}

body.theme-ashen .patrol-duration-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 6px !important;
}

body.theme-ashen .patrol-duration-button {
  min-height: 52px !important;
  padding: 6px !important;
}

body.theme-ashen .patrol-duration-button strong {
  font-size: 12px;
}

body.theme-ashen .patrol-duration-button small {
  font-size: 8px;
}

body.theme-ashen .patrol-compact-preview {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 7px 12px;
  padding: 10px;
  border: 1px solid rgba(196,163,93,.28);
  border-radius: 11px;
  background: rgba(26,23,12,.45);
}

body.theme-ashen .patrol-compact-preview>div {
  display: grid;
  gap: 2px;
}

body.theme-ashen .patrol-compact-preview span {
  font-size: 9px;
  color: #9ba7a1;
  text-transform: uppercase;
  letter-spacing: .05em;
}

body.theme-ashen .patrol-compact-preview strong {
  font-size: 12px;
  color: #e9dec1;
}

body.theme-ashen .patrol-compact-preview .patrol-penalty {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  color: #e6ba7d;
}

body.theme-ashen .patrol-start-primary {
  width: 100%;
  min-height: 50px;
}

body.theme-ashen .patrol-dev-details {
  font-size: 10px;
  opacity: .75;
}

body.theme-ashen .patrol-reference-warning {
  display: none !important;
}

@media (max-width:620px) {
  body.theme-ashen .patrol-location-grid-relevant {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:620px) {
  body.theme-ashen .patrol-duration-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:620px) {
  body.theme-ashen .patrol-compact-preview {
    grid-template-columns: 1fr;
  }
}

@media (max-width:390px) {
  body.theme-ashen .patrol-location-grid,
  body.theme-ashen .patrol-location-grid-relevant {
    grid-template-columns: 1fr;
  }
}

body.theme-ashen .patrol-screen-panel {
  min-height: calc(100dvh - 132px);
  align-content: start;
  padding-bottom: calc(82px + env(safe-area-inset-bottom));
}

body.theme-ashen .patrol-rules {
  padding: 9px 11px !important;
}

body.theme-ashen .patrol-rules summary {
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
  color: #bcc8c1;
}

body.theme-ashen .patrol-rules p {
  margin: 7px 0 0 !important;
  font-size: 11px;
  line-height: 1.42;
}

body.theme-ashen .patrol-start-card-final {
  display: grid;
  gap: 10px;
  padding: 12px !important;
  min-height: 0;
}

body.theme-ashen .patrol-start-header small {
  display: block;
  margin-top: 3px;
  color: #98a69f;
  font-size: 10px;
}

body.theme-ashen .patrol-duration-row {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 6px;
}

body.theme-ashen .patrol-duration-row .patrol-duration-button {
  min-height: 42px !important;
  padding: 7px 4px !important;
  place-items: center;
  text-align: center;
}

body.theme-ashen .patrol-duration-row .patrol-duration-button strong {
  font-size: 12px;
}

body.theme-ashen .patrol-reward-line {
  display: grid;
  gap: 4px;
  padding: 10px 11px;
  border: 1px solid rgba(196,163,93,.28);
  border-radius: 11px;
  background: rgba(26,23,12,.45);
}

body.theme-ashen .patrol-reward-line span,
body.theme-ashen .patrol-active-reward small {
  font-size: 9px;
  color: #9ba7a1;
  text-transform: uppercase;
  letter-spacing: .05em;
}

body.theme-ashen .patrol-reward-line strong,
body.theme-ashen .patrol-active-reward strong {
  font-size: 12px;
  line-height: 1.35;
  color: #e9dec1;
}

body.theme-ashen .patrol-start-warning,
body.theme-ashen .patrol-connection-warning {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid rgba(215,159,74,.45);
  border-radius: 10px;
  background: rgba(93,60,20,.25);
  color: #f0ce91;
  font-size: 11px;
  line-height: 1.35;
}

body.theme-ashen .patrol-start-warning.connection,
body.theme-ashen .patrol-connection-warning {
  border-color: rgba(210,104,79,.45);
  background: rgba(95,39,29,.28);
  color: #ffd7ca;
}

body.theme-ashen .patrol-sticky-footer {
  position: sticky;
  bottom: calc(67px + env(safe-area-inset-bottom));
  z-index: 12;
  display: grid;
  gap: 7px;
  margin: 2px -4px -4px;
  padding: 8px 4px 4px;
  background: linear-gradient(180deg,rgba(9,14,12,0),rgba(9,14,12,.96) 22%,rgba(9,14,12,.99));
}

body.theme-ashen .patrol-sticky-action {
  width: 100%;
  min-height: 50px;
}

body.theme-ashen .patrol-active-card-compact {
  display: grid;
  gap: 10px;
  padding: 13px !important;
}

body.theme-ashen .patrol-active-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

body.theme-ashen .patrol-active-head h3 {
  margin: 1px 0 0;
}

body.theme-ashen .patrol-active-head>span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(190,160,86,.17);
  color: #e4c77e;
  font-size: 11px;
  font-weight: 850;
}

body.theme-ashen .patrol-timer {
  font-size: 2.15rem !important;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

body.theme-ashen .patrol-complete-clock {
  margin: -2px 0 0;
  text-align: center;
  color: #aeb9b3;
  font-size: 11px;
}

body.theme-ashen .patrol-progress {
  height: 8px;
  overflow: hidden;
  border: 1px solid rgba(176,186,159,.28);
  border-radius: 999px;
  background: rgba(0,0,0,.3);
}

body.theme-ashen .patrol-progress>span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#7d925e,#d0b66b);
  transition: width .5s linear;
}

body.theme-ashen .patrol-active-reward {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.19);
}

body.theme-ashen .patrol-active-management {
  border-top: 1px solid rgba(151,165,143,.18);
  padding-top: 8px;
}

body.theme-ashen .patrol-active-management summary {
  cursor: pointer;
  color: #aebbb4;
  font-size: 11px;
  font-weight: 850;
}

body.theme-ashen .patrol-active-management .patrol-actions {
  margin-top: 8px;
}

body.theme-ashen .patrol-result-card-compact {
  padding: 13px !important;
}

body.theme-ashen .patrol-result-summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
}

body.theme-ashen .patrol-result-summary span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.2);
  text-align: center;
}

body.theme-ashen .patrol-result-summary small {
  font-size: 9px;
  color: #9ba7a1;
  text-transform: uppercase;
}

body.theme-ashen .patrol-result-summary strong {
  font-size: 16px;
  color: #e6d6ae;
}

@media (max-width:430px) {
  body.theme-ashen .patrol-screen-panel {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-duration-row {
    gap: 4px;
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-duration-row .patrol-duration-button {
    min-height: 39px !important;
    padding: 6px 2px !important;
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-start-warning,
  body.theme-ashen .patrol-connection-warning {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-start-warning button,
  body.theme-ashen .patrol-connection-warning button {
    width: 100%;
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-sticky-footer {
    bottom: calc(61px + env(safe-area-inset-bottom));
  }
}

/* Source replay: css/v0.10.0-rc31.css */

.patrol-action-status {
  margin: 8px 0 0;
  padding: 9px 11px;
  border: 1px solid rgba(118,170,127,.35);
  border-radius: 10px;
  background: rgba(36,78,45,.22);
  color: #d9efd8;
  font-size: .82rem;
  line-height: 1.35;
}

.patrol-action-status.error {
  border-color: rgba(213,105,82,.48);
  background: rgba(102,42,31,.25);
  color: #ffd8cb;
}

body.theme-ashen .patrol-start-card-compact {
  display: grid;
  gap: 10px;
  padding: 12px !important;
}

body.theme-ashen .patrol-start-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body.theme-ashen .patrol-start-header h3 {
  margin: 1px 0 0;
  font-size: 20px;
}

body.theme-ashen .patrol-balance {
  min-width: 92px;
  padding: 7px 10px !important;
  text-align: right;
  border: 1px solid rgba(192,158,90,.32);
  border-radius: 11px;
  background: rgba(15,22,19,.8);
}

body.theme-ashen .patrol-balance span {
  display: block;
  font-size: 9px;
  color: #9ba8a2;
  text-transform: uppercase;
  letter-spacing: .08em;
}

body.theme-ashen .patrol-balance strong {
  font-size: 18px;
  color: #e4c77e;
}

body.theme-ashen .patrol-section-block {
  display: grid;
  gap: 7px;
  padding: 9px;
  border: 1px solid rgba(118,150,139,.24);
  border-radius: 12px;
  background: rgba(8,16,14,.58);
}

body.theme-ashen .patrol-location-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 7px !important;
}

body.theme-ashen .patrol-location-grid-relevant {
  grid-template-columns: repeat(3,minmax(0,1fr));
}

body.theme-ashen .patrol-location-button {
  min-height: 66px !important;
  padding: 8px !important;
  text-align: left;
}

body.theme-ashen .patrol-location-button strong {
  display: block;
  font-size: 12px;
  line-height: 1.2;
}

body.theme-ashen .patrol-location-button small {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  line-height: 1.2;
  color: #98a69f;
}

body.theme-ashen .patrol-other-locations {
  border-top: 1px solid rgba(122,152,141,.18);
  padding-top: 6px;
}

body.theme-ashen .patrol-other-locations>summary,
body.theme-ashen .patrol-dev-details>summary {
  cursor: pointer;
  color: #aebcb5;
  font-size: 11px;
  font-weight: 800;
}

body.theme-ashen .patrol-other-locations>.patrol-location-grid {
  margin-top: 7px;
}

body.theme-ashen .patrol-conditions-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body.theme-ashen .patrol-conditions-heading span {
  font-size: 10px;
  color: #9eaaa5;
}

body.theme-ashen .patrol-duration-grid {
  display: grid !important;
  grid-template-columns: repeat(4,minmax(0,1fr)) !important;
  gap: 6px !important;
}

body.theme-ashen .patrol-duration-button {
  min-height: 52px !important;
  padding: 6px !important;
}

body.theme-ashen .patrol-duration-button strong {
  font-size: 12px;
}

body.theme-ashen .patrol-duration-button small {
  font-size: 8px;
}

body.theme-ashen .patrol-compact-preview {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 7px 12px;
  padding: 10px;
  border: 1px solid rgba(196,163,93,.28);
  border-radius: 11px;
  background: rgba(26,23,12,.45);
}

body.theme-ashen .patrol-compact-preview>div {
  display: grid;
  gap: 2px;
}

body.theme-ashen .patrol-compact-preview span {
  font-size: 9px;
  color: #9ba7a1;
  text-transform: uppercase;
  letter-spacing: .05em;
}

body.theme-ashen .patrol-compact-preview strong {
  font-size: 12px;
  color: #e9dec1;
}

body.theme-ashen .patrol-compact-preview .patrol-penalty {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  color: #e6ba7d;
}

body.theme-ashen .patrol-start-primary {
  width: 100%;
  min-height: 50px;
}

body.theme-ashen .patrol-dev-details {
  font-size: 10px;
  opacity: .75;
}

body.theme-ashen .patrol-reference-warning {
  display: none !important;
}

@media (max-width:620px) {
  body.theme-ashen .patrol-location-grid-relevant {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width:620px) {
  body.theme-ashen .patrol-duration-grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:620px) {
  body.theme-ashen .patrol-compact-preview {
    grid-template-columns: 1fr;
  }
}

@media (max-width:390px) {
  body.theme-ashen .patrol-location-grid,
  body.theme-ashen .patrol-location-grid-relevant {
    grid-template-columns: 1fr;
  }
}

body.theme-ashen .patrol-screen-panel {
  min-height: calc(100dvh - 132px);
  align-content: start;
  padding-bottom: calc(82px + env(safe-area-inset-bottom));
}

body.theme-ashen .patrol-rules {
  padding: 9px 11px !important;
}

body.theme-ashen .patrol-rules summary {
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
  color: #bcc8c1;
}

body.theme-ashen .patrol-rules p {
  margin: 7px 0 0 !important;
  font-size: 11px;
  line-height: 1.42;
}

body.theme-ashen .patrol-start-card-final {
  display: grid;
  gap: 10px;
  padding: 12px !important;
  min-height: 0;
}

body.theme-ashen .patrol-start-header small {
  display: block;
  margin-top: 3px;
  color: #98a69f;
  font-size: 10px;
}

body.theme-ashen .patrol-duration-row {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 6px;
}

body.theme-ashen .patrol-duration-row .patrol-duration-button {
  min-height: 42px !important;
  padding: 7px 4px !important;
  place-items: center;
  text-align: center;
}

body.theme-ashen .patrol-duration-row .patrol-duration-button strong {
  font-size: 12px;
}

body.theme-ashen .patrol-reward-line {
  display: grid;
  gap: 4px;
  padding: 10px 11px;
  border: 1px solid rgba(196,163,93,.28);
  border-radius: 11px;
  background: rgba(26,23,12,.45);
}

body.theme-ashen .patrol-reward-line span,
body.theme-ashen .patrol-active-reward small {
  font-size: 9px;
  color: #9ba7a1;
  text-transform: uppercase;
  letter-spacing: .05em;
}

body.theme-ashen .patrol-reward-line strong,
body.theme-ashen .patrol-active-reward strong {
  font-size: 12px;
  line-height: 1.35;
  color: #e9dec1;
}

body.theme-ashen .patrol-start-warning,
body.theme-ashen .patrol-connection-warning {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 9px 10px;
  border: 1px solid rgba(215,159,74,.45);
  border-radius: 10px;
  background: rgba(93,60,20,.25);
  color: #f0ce91;
  font-size: 11px;
  line-height: 1.35;
}

body.theme-ashen .patrol-start-warning.connection,
body.theme-ashen .patrol-connection-warning {
  border-color: rgba(210,104,79,.45);
  background: rgba(95,39,29,.28);
  color: #ffd7ca;
}

body.theme-ashen .patrol-sticky-footer {
  position: sticky;
  bottom: calc(67px + env(safe-area-inset-bottom));
  z-index: 12;
  display: grid;
  gap: 7px;
  margin: 2px -4px -4px;
  padding: 8px 4px 4px;
  background: linear-gradient(180deg,rgba(9,14,12,0),rgba(9,14,12,.96) 22%,rgba(9,14,12,.99));
}

body.theme-ashen .patrol-sticky-action {
  width: 100%;
  min-height: 50px;
}

body.theme-ashen .patrol-active-card-compact {
  display: grid;
  gap: 10px;
  padding: 13px !important;
}

body.theme-ashen .patrol-active-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

body.theme-ashen .patrol-active-head h3 {
  margin: 1px 0 0;
}

body.theme-ashen .patrol-active-head>span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(190,160,86,.17);
  color: #e4c77e;
  font-size: 11px;
  font-weight: 850;
}

body.theme-ashen .patrol-timer {
  font-size: 2.15rem !important;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

body.theme-ashen .patrol-complete-clock {
  margin: -2px 0 0;
  text-align: center;
  color: #aeb9b3;
  font-size: 11px;
}

body.theme-ashen .patrol-progress {
  height: 8px;
  overflow: hidden;
  border: 1px solid rgba(176,186,159,.28);
  border-radius: 999px;
  background: rgba(0,0,0,.3);
}

body.theme-ashen .patrol-progress>span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#7d925e,#d0b66b);
  transition: width .5s linear;
}

body.theme-ashen .patrol-active-reward {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.19);
}

body.theme-ashen .patrol-active-management {
  border-top: 1px solid rgba(151,165,143,.18);
  padding-top: 8px;
}

body.theme-ashen .patrol-active-management summary {
  cursor: pointer;
  color: #aebbb4;
  font-size: 11px;
  font-weight: 850;
}

body.theme-ashen .patrol-active-management .patrol-actions {
  margin-top: 8px;
}

body.theme-ashen .patrol-result-card-compact {
  padding: 13px !important;
}

body.theme-ashen .patrol-result-summary {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 7px;
}

body.theme-ashen .patrol-result-summary span {
  display: grid;
  gap: 3px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(0,0,0,.2);
  text-align: center;
}

body.theme-ashen .patrol-result-summary small {
  font-size: 9px;
  color: #9ba7a1;
  text-transform: uppercase;
}

body.theme-ashen .patrol-result-summary strong {
  font-size: 16px;
  color: #e6d6ae;
}

@media (max-width:430px) {
  body.theme-ashen .patrol-screen-panel {
    padding-bottom: calc(76px + env(safe-area-inset-bottom));
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-duration-row {
    gap: 4px;
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-duration-row .patrol-duration-button {
    min-height: 39px !important;
    padding: 6px 2px !important;
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-start-warning,
  body.theme-ashen .patrol-connection-warning {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-start-warning button,
  body.theme-ashen .patrol-connection-warning button {
    width: 100%;
  }
}

@media (max-width:430px) {
  body.theme-ashen .patrol-sticky-footer {
    bottom: calc(61px + env(safe-area-inset-bottom));
  }
}

/* Source replay: css/v0.10.0-rc37.css */

body.theme-ashen .patrol-start-card-final,
body.theme-ashen .patrol-section-block {
  padding: var(--ff-card-padding) !important;
}

body.theme-ashen .patrol-screen-head {
  gap: var(--ff-section-gap) !important;
}

body.theme-ashen .patrol-screen-panel {
  padding-bottom: calc(var(--ff-bottom-nav-rendered-height) + var(--ff-app-bottom)) !important;
}

body.theme-ashen .patrol-start-card-final {
  gap: var(--ff-card-gap) !important;
}

body.theme-ashen .patrol-rules {
  padding: calc(var(--ff-card-padding) - 2px) var(--ff-card-padding) !important;
}

body.theme-ashen .patrol-duration-row {
  gap: max(4px,calc(var(--ff-card-gap) - 2px)) !important;
}

body.theme-ashen .patrol-duration-row .patrol-duration-button {
  min-height: var(--ff-control-height) !important;
}

@media (max-width:479px) {
  html[data-ui-density="ultra"] body.theme-ashen .patrol-start-header h3 {
    font-size: 17px !important;
  }
}

@media (max-width:479px) {
  html[data-ui-density="ultra"] body.theme-ashen .patrol-start-header small {
    font-size: 8px !important;
  }
}

/* Source replay: css/v0.10.0-rc49.css */

body.theme-ashen .patrol-income-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

body.theme-ashen .patrol-income-title > span {
  color: #d8c99f !important;
  font-size: 10px !important;
  font-weight: 900;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}

body.theme-ashen .patrol-income-title > small {
  color: #8fa29a !important;
  font-size: 9px !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
}

body.theme-ashen .patrol-income-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

body.theme-ashen .patrol-income-grid > span {
  display: grid;
  align-content: center;
  gap: 2px;
  min-width: 0;
  min-height: 48px;
  padding: 7px 6px;
  border: 1px solid rgba(109, 139, 126, .28);
  border-radius: 8px;
  background: rgba(4, 12, 10, .42);
  text-align: center;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.theme-ashen .patrol-income-grid small {
  overflow: hidden;
  color: #8fa39a !important;
  font-size: 8px !important;
  font-weight: 700;
  letter-spacing: .05em !important;
  line-height: 1.1;
  text-overflow: ellipsis;
  text-transform: uppercase !important;
  white-space: nowrap;
}

body.theme-ashen .patrol-income-grid strong {
  overflow: hidden;
  color: #f0dfae !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-ashen .patrol-income-note {
  display: block;
  margin-top: 2px;
  color: #9fd0da !important;
  font-size: 9px !important;
  font-weight: 700;
  letter-spacing: .02em !important;
  text-transform: none !important;
}

body.theme-ashen .patrol-reward-line,
body.theme-ashen .patrol-active-reward {
  gap: 7px !important;
}

@media (max-width: 520px) {
  body.theme-ashen .patrol-income-grid {
    gap: 5px;
  }
}

@media (max-width: 520px) {
  body.theme-ashen .patrol-income-grid > span {
    min-height: 45px;
    padding: 6px 4px;
  }
}

@media (max-width: 520px) {
  body.theme-ashen .patrol-income-grid strong {
    font-size: 14px !important;
  }
}

/* Source replay: css/v0.10.0-rc50.css */

body.theme-ashen .patrol-income-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

body.theme-ashen .patrol-income-title > span {
  color: #d8c99f !important;
  font-size: 10px !important;
  font-weight: 900;
  letter-spacing: .09em !important;
  text-transform: uppercase;
}

body.theme-ashen .patrol-income-title > small {
  color: #8fa29a !important;
  font-size: 9px !important;
  letter-spacing: .03em !important;
  text-transform: none !important;
}

body.theme-ashen .patrol-income-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

body.theme-ashen .patrol-income-grid > span {
  display: grid;
  align-content: center;
  gap: 2px;
  min-width: 0;
  min-height: 48px;
  padding: 7px 6px;
  border: 1px solid rgba(109, 139, 126, .28);
  border-radius: 8px;
  background: rgba(4, 12, 10, .42);
  text-align: center;
  letter-spacing: normal !important;
  text-transform: none !important;
}

body.theme-ashen .patrol-income-grid small {
  overflow: hidden;
  color: #8fa39a !important;
  font-size: 8px !important;
  font-weight: 700;
  letter-spacing: .05em !important;
  line-height: 1.1;
  text-overflow: ellipsis;
  text-transform: uppercase !important;
  white-space: nowrap;
}

body.theme-ashen .patrol-income-grid strong {
  overflow: hidden;
  color: #f0dfae !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 15px !important;
  line-height: 1.05 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.theme-ashen .patrol-income-note {
  display: block;
  margin-top: 2px;
  color: #9fd0da !important;
  font-size: 9px !important;
  font-weight: 700;
  letter-spacing: .02em !important;
  text-transform: none !important;
}

body.theme-ashen .patrol-reward-line,
body.theme-ashen .patrol-active-reward {
  gap: 7px !important;
}

@media (max-width: 520px) {
  body.theme-ashen .patrol-income-grid {
    gap: 5px;
  }
}

@media (max-width: 520px) {
  body.theme-ashen .patrol-income-grid > span {
    min-height: 45px;
    padding: 6px 4px;
  }
}

@media (max-width: 520px) {
  body.theme-ashen .patrol-income-grid strong {
    font-size: 14px !important;
  }
}

/* Consolidated from 6 active historical files: 204 rules, 238 selectors. */