/* Personal ratings follow the existing slate surfaces and blue accent. */
#personal-rating {
  scroll-margin-top:110px;
}

.ex-rating-context {
  font-size:12px;
  color:var(--ex-muted);
  margin:0 0 12px;
}

.ex-rating-context a {
  color:var(--ex-accent-text);
}

.ex-c-rating {
  min-width:156px;
  white-space:nowrap;
}

.ex-personal-rating {
  font-size:12px;
  line-height:1.5;
}

.ex-personal-rating .rating-stars {
  font-size:15px;
}

.ex-personal-rating small,.ex-personal-rating>a {
  display:block;
  font-size:11px;
}

.ex-personal-rating a {
  color:var(--ex-accent-text);
}

.ex-card-body>.ex-personal-rating {
  margin:12px 0;
}

.ex-drawer-body>.personal-rating {
  margin:14px 16px;
}

.ex-map-rating {
  font-weight:600;
}

.area-options {
  max-height:220px;
  overflow:auto;
  border:1px solid var(--primary-300);
  border-radius:6px;
  padding:6px 10px;
  margin-top:8px;
}

.area-options label {
  display:flex!important;
  align-items:center;
  gap:8px;
  font-weight:400!important;
  margin:0!important;
  padding:6px 0;
  min-height:36px;
}

.area-options input {
  accent-color:var(--accent-600);
}

.priority-options label {
  min-height:44px;
}

.priorities-page {
  max-width:1080px;
}

.priorities-heading {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}

.priorities-heading h1 {
  margin-bottom:8px;
}

.priorities-import {
  margin:18px 0;
}

.priorities-import summary,.priorities-destination summary {
  cursor:pointer;
  font-weight:600;
}

.priorities-import li {
  margin:6px 0;
}

.priorities-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
}

.priorities-form .card {
  min-width:0;
  margin-bottom:20px;
}

.priorities-grid .card {
  margin-bottom:0;
}

.priorities-form fieldset {
  padding:20px;
  border:1px solid var(--primary-200);
  border-radius:var(--radius-lg);
  background:var(--surface);
}

.priorities-form legend {
  font-size:18px;
  font-weight:600;
  padding:0 7px;
}

.priorities-form label:not(.priority-options label):not(.priority-required) {
  display:block;
  margin:12px 0 6px;
  font-size:13px;
  font-weight:600;
}

.priorities-form p {
  margin:0 0 10px;
}

.priorities-fields {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.priorities-fields.two {
  grid-template-columns:1fr 1fr;
}

.priorities-form .form-input {
  width:100%;
  min-width:0;
}

.priority-options>div {
  display:flex;
  gap:6px;
  margin:16px 0 12px;
  flex-wrap:wrap;
}

.priority-options>div>div {
  flex:1;
  min-width:70px;
}

.priority-options label {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:8px 6px;
  border:1px solid var(--primary-300);
  border-radius:6px;
  cursor:pointer;
  font-size:12px;
  color:var(--primary-700);
}

.priority-options label:has(input:checked) {
  background:var(--accent-100);
  color:var(--accent-700);
  border-color:var(--accent-600);
}

.priority-options input,.priority-required input {
  accent-color:var(--accent-600);
}

.priority-required {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  margin:8px 0;
}

.priorities-destination {
  margin-top:20px;
}

.priorities-destination summary {
  font-size:17px;
  margin-bottom:14px;
}

.destination-find {
  display:flex;
  gap:8px;
}

.destination-find .form-input {
  flex:1;
}

.destination-preview {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:16px 0;
}

.destination-preview iframe {
  width:100%;
  height:210px;
  border:1px solid var(--primary-200);
  border-radius:8px;
}

.priorities-actions {
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  margin:20px 0;
}

.priorities-actions p {
  flex-basis:100%;
  margin-top:4px;
}

.errorlist {
  padding:0;
  list-style:none;
  color:var(--danger-700);
  font-size:13px;
  margin:6px 0;
}

.rating-notice {
  padding:12px 14px;
  margin:16px 0;
  background:var(--primary-50);
  border:1px solid var(--primary-200);
  border-radius:7px;
  font-size:13px;
}

.rating-error {
  border-color:var(--danger-600);
}

.personal-rating {
  background:var(--surface);
  color:var(--primary-900);
  border:1px solid var(--primary-200);
  border-radius:8px;
  padding:18px;
  margin-bottom:24px;
  font-size:13px;
}

.rating-heading {
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.rating-heading>strong {
  flex:1;
  font-size:15px;
}

.rating-stars {
  color:#956900;
  font-size:18px;
  letter-spacing:1px;
  white-space:nowrap;
}

.rating-number {
  font-variant-numeric:tabular-nums;
  font-size:12px;
  font-weight:600;
}

.rating-summary {
  margin:8px 0;
  color:var(--primary-700);
}

.rating-default-note {
  color:var(--primary-600);
  font-size:12px;
}

.rating-explanation {
  margin-top:12px;
}

.rating-explanation summary {
  color:var(--accent-700);
  cursor:pointer;
  font-weight:600;
}

.rating-explanation>p {
  margin:12px 0;
}

.rating-component {
  margin:14px 0;
}

.rating-component-heading {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:7px;
}

.rating-component-heading>span:last-child {
  margin-left:auto;
  font-variant-numeric:tabular-nums;
}

.rating-bar {
  height:6px;
  overflow:hidden;
  background:var(--primary-200);
  border-radius:4px;
}

.rating-bar span {
  display:block;
  height:100%;
  background:var(--accent-600);
}

.rating-component p {
  font-size:12px;
  color:var(--primary-600);
  margin:6px 0;
}

.rating-unknown span {
  background:repeating-linear-gradient(45deg,var(--primary-400),var(--primary-400) 3px,var(--primary-200) 3px,var(--primary-200) 6px);
}

.rating-tag {
  display:inline-flex;
  align-items:center;
  font-size:11px;
  padding:2px 6px;
  border:1px solid var(--primary-300);
  border-radius:4px;
  color:var(--primary-700);
}

.rating-reference,.rating-formula {
  font-size:12px;
  color:var(--primary-600);
  border-top:1px solid var(--primary-200);
  padding-top:10px;
}

.rating-compact {
  border:0;
  border-top:1px solid var(--primary-200);
  border-radius:0;
  margin:0;
}

.favorites-sort {
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
}

.rating-explanation a,.rating-default-note a {
  color:var(--accent-700);
}

@media(prefers-color-scheme:dark) {
  .rating-stars {
    color:#f5ce68;
  }
}

@media(max-width:700px) {
  .priorities-heading {
    display:block;
  }
  .priorities-heading>a {
    margin-top:14px;
  }
  .priorities-grid {
    grid-template-columns:1fr;
  }
  .priorities-fields,.destination-preview {
    grid-template-columns:1fr;
  }
  .priorities-fields.two {
    grid-template-columns:1fr 1fr;
  }
  .destination-find {
    flex-wrap:wrap;
  }
  .destination-find .form-input {
    flex-basis:100%;
  }
}

@media(max-width:400px) {
  .priorities-fields.two {
    grid-template-columns:1fr;
  }
  .priority-options>div {
    gap:4px;
  }
  .priority-options label {
    font-size:11px;
    padding:8px 3px;
  }
  .priorities-form fieldset {
    padding:16px;
  }
  .personal-rating {
    padding:14px;
  }
}

@media(max-width:600px) {
  .ex-c-rating {
    min-width:110px;
  }
  .ex-c-rating .rating-stars {
    font-size:0;
  }
  .ex-c-rating .rating-stars::before {
    content:"★";
    font-size:15px;
  }
}
