/* Shared single-page details; region accents follow the selected region. */
#details {width:min(920px,calc(100vw - 28px));background:#fff;color:var(--ink)}
#detail-content {padding:16px 24px 18px}
#details .dialog-top {z-index:2}
.project-hero h2 {font-size:25px;letter-spacing:-.4px;margin:6px 0}
.eyebrow {color:var(--teal);font-weight:650;font-size:13px}
.project-hero .eyebrow {margin:0}
.project-hero .english-name {margin:0;min-height:0}
.detail-meta {color:var(--muted);margin:6px 0 10px;font-size:13px}
.intake-label {display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:8px 0}
.intake-label select {max-width:100%;width:auto;min-width:180px;color:var(--ink);margin-bottom:0}
.detail-summary {display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:12px 0 8px}
.detail-summary>div {padding:10px 0;border-top:1px solid var(--line);min-width:0}
.detail-summary span,.detail-summary strong {display:block}
.detail-summary span {font-size:12px;color:var(--muted);margin-bottom:5px}
.detail-summary strong {font-size:13px;overflow-wrap:anywhere;line-height:1.6;font-weight:500}
.detail-scope {color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.detail-alerts {margin-bottom:12px}
.detail-alerts:empty {display:none}
.detail-alerts p:last-child {margin-bottom:0}
.detail-section {border-top:1px solid var(--line);padding:0}
.detail-section>summary {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;font-size:15px;font-weight:600;list-style:none}
.detail-section>summary::-webkit-details-marker {display:none}
.detail-section>summary::after {content:'＋';color:var(--muted);font-weight:400}
.detail-section[open]>summary::after {content:'−'}
.detail-section>summary>span {margin-left:auto;font-size:12px;color:var(--muted);font-weight:400}
.detail-section-body {padding:0 0 16px;overflow-wrap:anywhere;line-height:1.7}
.detail-section-body h3 {font-size:16px;margin:16px 0 8px}
.detail-section-body h3:first-child {margin-top:5px}
.detail-lines {display:grid;grid-template-columns:90px 1fr;gap:8px 14px;font-size:13px}
.detail-lines dt {color:var(--muted)}
.detail-lines dd {margin:0;min-width:0}
.detail-actions {position:sticky;bottom:0;z-index:1;display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding:12px 0;background:#fff;box-shadow:0 -5px 10px #ffffffea}
.detail-actions a {margin-left:auto;font-size:13px}
.detail-sources {font-size:12px;color:var(--muted);margin-top:10px}
.detail-sources li {margin:10px 0;overflow-wrap:anywhere}
.detail-fact h4 {font-size:13px;margin:12px 0 4px}
.detail-fact p {font-size:13px;margin:5px 0 10px}
.detail-conflict {border-left:3px solid #c99542;padding-left:12px}
.course-notice {background:#fff5df;border:1px solid #ecdfbf;border-radius:8px;padding:10px 13px;line-height:1.7;font-size:13px;overflow-wrap:anywhere}
.course-controls {display:flex;gap:16px;align-items:end;margin:18px 0;flex-wrap:wrap}
.course-controls label {flex:1;min-width:180px;font-size:12px;color:var(--muted)}
.course-controls select {display:block;width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.course-controls .difference-toggle {display:flex;align-items:center;gap:7px;flex:0 1 auto;min-width:150px;padding:10px 0;font-size:13px;color:var(--ink)}
.difference-toggle input {width:auto;margin:0}
.common-courses {background:var(--paper);border-radius:8px;padding:14px 16px;margin-bottom:18px}
.common-courses h3 {margin:0 0 10px}
.direction-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.direction-card {border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0}
.direction-card>h3 {margin:0 0 10px;color:var(--teal)}
.direction-focus {color:var(--muted);font-size:13px}
.course-group {padding:12px 0;border-bottom:1px solid var(--line)}
.course-group h4 {font-size:14px;margin:0 0 8px}
.course-group p {font-size:13px;margin:8px 0}
.course-kind {font-size:11px;font-weight:500;color:var(--teal);background:var(--pale);padding:3px 7px;border-radius:5px;margin-left:5px;white-space:nowrap}
.course-list {list-style:none;margin:12px 0 0;padding:0}
.course-list li {display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:12px;overflow-wrap:anywhere}
.course-list li span {min-width:0}
.course-list b {font-size:11px;color:var(--teal);display:block;letter-spacing:.3px}
.course-list small {white-space:nowrap;font-size:11px;color:var(--muted)}
.course-group summary {font-size:12px;color:var(--teal)}
#details summary {cursor:pointer;line-height:1.6}
#details summary:focus-visible {outline:2px solid var(--teal);outline-offset:3px}
.course-fold {border-top:1px solid var(--line);padding:14px 0;margin-top:10px}
.course-fold>summary {font-weight:600;font-size:13px}
.course-matrix {width:100%;border-collapse:collapse;font-size:12px}
.course-matrix th,.course-matrix td {text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px;min-width:130px}
.course-matrix th {font-weight:600}
.course-matrix small {font-weight:400}
.language-panel {margin:16px 0}
.language-route {border-top:1px solid var(--line);padding:12px 0;font-size:13px}
.language-route summary {font-weight:500}
.language-route p {margin:10px 0}
.deadline-card {padding:12px 0;border-top:1px solid var(--line);font-size:13px}
.project-card .card-meta {font-size:13px;color:var(--muted)}
.direction-preview {font-size:12px;color:var(--muted);line-height:1.7}
.project-card .card-bottom {gap:12px;align-items:center;margin-top:auto}
.project-card {display:flex;flex-direction:column}
.project-detail-body {overflow-wrap:anywhere}
.check-evidence {margin:6px 0;font-size:12px}
.check-evidence>summary {color:var(--teal)}
@media(max-width:700px) {
  #detail-content {padding:14px 16px 18px}
  .project-hero h2 {font-size:23px}
  .direction-columns {grid-template-columns:1fr}
  .course-controls label {min-width:100%;flex:auto}
  .course-controls {gap:10px}
  .detail-summary {gap:0 14px}
  .detail-actions a {margin-left:0}
  .detail-actions {gap:8px}
  .detail-actions button {padding:8px 10px;font-size:13px}
}
@media(max-width:440px) {
  .detail-summary {grid-template-columns:1fr}
  .detail-lines {grid-template-columns:76px 1fr}
  .intake-label select {width:100%;min-width:0}
}
