/* Modern detail composition. Every selector is scoped; Classic keeps its renderer. */
body.colour-v1{--md-date:#fff4d9;--md-qual:#e4f5ed;--md-fee:#f0eaff}
html[data-theme=dark] body.colour-v1{--md-date:var(--raised);--md-qual:var(--raised);--md-fee:var(--raised)}
@media(prefers-color-scheme:dark){html:not([data-theme]) body.colour-v1{--md-date:var(--raised);--md-qual:var(--raised);--md-fee:var(--raised)}}
.colour-v1 .modern-detail-hero{box-sizing:border-box;padding:30px;margin-top:12px;margin-bottom:24px;border:1px solid var(--rule);border-radius:20px;background:var(--brand-tint);color:var(--ink)}
.colour-v1 .modern-detail-kicker{display:flex;align-items:center;flex-wrap:wrap;gap:12px;color:var(--ink-2);font-size:13px;margin-bottom:16px}
.colour-v1 .modern-detail-hero .h-exam{max-width:1000px;margin:0 0 12px;font-size:34px;line-height:1.35;overflow-wrap:anywhere}
.colour-v1 .modern-detail-board{margin:0 0 22px;color:var(--ink-2);font-size:15px;line-height:1.6}
.colour-v1 .modern-detail-essentials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 20px}
.colour-v1 .modern-detail-essentials>div{min-width:0;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px 18px}
.colour-v1 .modern-detail-essentials dt{font-size:13px;color:var(--ink-2);line-height:1.5;margin:0 0 6px}
.colour-v1 .modern-detail-essentials dd{margin:0;font-size:16px;line-height:1.55;font-weight:650;overflow-wrap:anywhere}
.colour-v1 .modern-detail-essentials small{display:block;font-size:12px;line-height:1.6;font-weight:400;color:var(--ink-2);margin-top:6px}
.colour-v1 .modern-detail-empty{margin:24px 0 20px;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px 18px;font-size:16px;line-height:1.6;color:var(--ink);max-width:60ch}
.colour-v1 .modern-detail-essentials .modern-fact-date,.colour-v1 .modern-detail .application-panel{background:var(--md-date)}
.colour-v1 .modern-detail-essentials .modern-fact-qual{background:var(--md-qual)}
.colour-v1 .modern-detail-essentials .modern-fact-fee{background:var(--md-fee)}
.colour-v1 .modern-detail-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.colour-v1 .modern-detail-actions .btn{width:auto;flex:0 1 auto;min-height:46px;padding:11px 18px;justify-content:center;gap:8px;font-size:14px}
.colour-v1 .modern-detail-actions .btn-ghost{background:var(--surface);border:1px solid var(--rule);color:var(--ink)}
.colour-v1 .modern-detail-actions [hidden]{display:none!important}
.colour-v1 .modern-detail-note{margin:15px 0 0;font-size:13px;line-height:1.6;color:var(--ink-2)}
.colour-v1 .modern-detail .exam-a{background:transparent;border:0;border-radius:0;overflow:visible;display:flex;flex-direction:column;gap:20px}
.colour-v1 .modern-detail .exam-a>section{padding:24px;border:1px solid var(--rule);border-radius:16px;background:var(--surface);margin:0;box-shadow:none}
.colour-v1 .modern-detail .detail-jumps{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:0 22px;gap:24px}
.colour-v1 .modern-detail .proto-section-label{display:none}
.colour-v1 .modern-detail .proto-source-details{margin-top:18px}
.colour-v1 .modern-detail .proto-source-details .fsheet{margin-top:16px}
.colour-v1 .modern-qualification-quote{margin:20px 0;padding:18px;border-left:3px solid var(--brand);border-radius:0 10px 10px 0;background:var(--brand-tint);line-height:1.75}
.colour-v1 .modern-rail-date h2{font-size:16px;margin:0 0 10px}
.colour-v1 .modern-rail-date>strong{display:block;font-size:27px;line-height:1.4;margin-bottom:20px}
.colour-v1 .modern-detail .application-panel>.application-eyebrow,.colour-v1 .modern-detail .application-panel>.h-panel{display:none}
.colour-v1 .modern-detail .exam-side>.official,.colour-v1 .modern-detail .exam-side>.proto-help{background:var(--surface);border:1px solid var(--rule);border-radius:16px;padding:24px}
@media(max-width:1099px){.colour-v1 .modern-detail-hero{padding:24px}.colour-v1 .modern-detail-hero .h-exam{font-size:29px}}
@media(max-width:740px){.colour-v1 .modern-detail-hero{padding:20px 16px;margin-bottom:18px;border-radius:16px}.colour-v1 .modern-detail-hero .h-exam{font-size:26px;line-height:1.4}.colour-v1 .modern-detail-essentials{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.colour-v1 .modern-detail-essentials>div{padding:13px 12px}.colour-v1 .modern-detail-essentials dd{font-size:14px}.colour-v1 .modern-detail-essentials dt{font-size:12px}.colour-v1 .modern-detail-actions>.btn{width:100%}.colour-v1 .modern-detail .exam-a>section{padding:20px 18px}.colour-v1 .modern-detail .exam-a{gap:16px}.colour-v1 .modern-detail .exam-side{display:block}.colour-v1 .modern-detail .exam-side>*+*{margin-top:18px}}
/* Dark fact tiles and the Apply-by panel: neutral cards with a coloured edge instead of tinted fills */
html[data-theme=dark] .colour-v1 .modern-detail-essentials :is(.modern-fact-date,.modern-fact-qual,.modern-fact-fee){border:1px solid var(--rule);box-shadow:inset 3px 0 0 var(--md-edge)}html[data-theme=dark] .colour-v1 .modern-detail .application-panel{border-color:var(--rule);box-shadow:inset 0 3px 0 #f2b84b}
@media(prefers-color-scheme:dark){html:not([data-theme]) .colour-v1 .modern-detail-essentials :is(.modern-fact-date,.modern-fact-qual,.modern-fact-fee){border:1px solid var(--rule);box-shadow:inset 3px 0 0 var(--md-edge)}html:not([data-theme]) .colour-v1 .modern-detail .application-panel{border-color:var(--rule);box-shadow:inset 0 3px 0 #f2b84b}}
.colour-v1 .modern-fact-date{--md-edge:#f2b84b}.colour-v1 .modern-fact-qual{--md-edge:#4cc38a}.colour-v1 .modern-fact-fee{--md-edge:#a78bfa}
/* Report a mistake: a card like Official source, with a flag, a chevron, rounded fields and a full-width button */
.colour-v1 .report{margin-top:20px;border:1px solid var(--rule);border-radius:16px;background:var(--surface)}.colour-v1 .report summary{list-style:none;display:flex;align-items:center;gap:10px;padding:16px 20px;color:var(--ink);font-weight:650}.colour-v1 .report summary::-webkit-details-marker{display:none}
.colour-v1 .report summary:before{content:'';width:18px;height:18px;flex:none;background:var(--ink-2);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22V4a1 1 0 0 1 1-1h11l-2 4 2 4H5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 22V4a1 1 0 0 1 1-1h11l-2 4 2 4H5'/%3E%3C/svg%3E") center/contain no-repeat}
.colour-v1 .report summary:after{content:'';margin-left:auto;width:8px;height:8px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);transition:transform .2s}.colour-v1 .report details[open] summary:after{transform:rotate(-135deg)}
.colour-v1 .report details>:not(summary){margin-inline:20px}.colour-v1 .report .report-form{padding-bottom:20px;gap:14px}.colour-v1 .report-form :is(select,textarea){border-radius:10px;border-color:var(--rule-2)}.colour-v1 .report-form select{min-height:44px}.colour-v1 .report-form .btn{justify-self:stretch;background:var(--brand-fill);color:var(--on-brand);border-radius:10px;min-height:46px}
/* a long title (h-long) gets a smaller heading than a short one, never a cut one */
.colour-v1 .modern-detail-hero .h-exam.h-long{font-size:28px;line-height:1.3}
@media(max-width:1099px){.colour-v1 .modern-detail-hero .h-exam.h-long{font-size:25px}}
@media(max-width:740px){.colour-v1 .modern-detail-hero .h-exam.h-long{font-size:22px;line-height:1.32}}

/* Verification is a compact annotation, including when its parent is a grid. */
.colour-v1 :is(.fsheet,.modern-detail-essentials) .chk{display:inline-flex;width:fit-content;max-width:100%;justify-self:start;align-items:center;box-sizing:border-box;margin:6px 0 0;padding:3px 8px;border-radius:6px;font-size:12px;line-height:1.5;white-space:normal;vertical-align:middle}
/* Purpose-specific source shortcuts reuse the fact colours and theme tokens. */
.colour-v1 .official .quick a{border:1px solid var(--rule);border-radius:10px;min-height:76px;padding:12px 6px;font-size:12px;line-height:1.5;color:var(--ink)}
.colour-v1 .official .quick li:nth-child(1) a{background:var(--md-date)}
.colour-v1 .official .quick li:nth-child(2) a{background:var(--md-qual)}
.colour-v1 .official .quick li:nth-child(3) a{background:var(--md-fee)}
.colour-v1 .official .quick li:nth-child(1) .ico{color:#b47709}
.colour-v1 .official .quick li:nth-child(2) .ico{color:#238153}
.colour-v1 .official .quick li:nth-child(3) .ico{color:#8054c1}
html[data-theme=dark] .colour-v1 .official .quick .ico{filter:brightness(1.55)}
@media(prefers-color-scheme:dark){html:not([data-theme]) .colour-v1 .official .quick .ico{filter:brightness(1.55)}}
/* Keep the notice label and external-link icon centered as one action. */
.colour-v1 .application-panel .ex-acts a.btn-primary{justify-content:center;text-align:center;gap:8px}
/* Category finder. The bars compare the currently selected seat count between posts. */
.colour-v1 .modern-detail .exam-a>.posts-block{padding:0;border-radius:20px;overflow:clip;background:var(--surface)}
.colour-v1 .vf-finder{container:finder/inline-size;--vf-accent:#492d84;--vf-bar:#7760c1;--vf-rail:#edebfa}
html[data-theme=dark] .colour-v1 .vf-finder{--vf-accent:#bda4ff;--vf-bar:#bda4ff;--vf-rail:#34334b}
@media(prefers-color-scheme:dark){html:not([data-theme]) .colour-v1 .vf-finder{--vf-accent:#bda4ff;--vf-bar:#bda4ff;--vf-rail:#34334b}}
.colour-v1 .vf-finder [hidden]{display:none}
.colour-v1 .vf-cover{position:relative;isolation:isolate;overflow:clip;padding:30px 32px;background:#292442;color:#fff}
.colour-v1 .vf-cover::after{content:'';position:absolute;inset:-48% -65px -40% auto;width:38%;background:repeating-linear-gradient(135deg,transparent 0 18px,#8c83c41f 18px 19px);z-index:-1;pointer-events:none}
.colour-v1 .vf-kicker{margin:0 0 12px;color:#c6b5ff;text-transform:uppercase;letter-spacing:.16em;font-size:11px;line-height:1.5;font-weight:700}
.colour-v1 .vf-cover h2{margin:0;color:#fff;font:680 clamp(30px,5.4cqi,48px)/1.09 var(--display);letter-spacing:-.048em;text-wrap:balance}
.colour-v1 .vf-intro{margin:12px 0 0;color:#e0daed;font-size:15px;line-height:1.55}
.colour-v1 .vf-controls{padding:18px 32px;border-bottom:1px solid var(--rule)}
.colour-v1 .vf-controls>p{margin:0 0 8px;color:var(--ink);font-size:13px;font-weight:650}
.colour-v1 .vf-pills{display:flex;flex-wrap:wrap;gap:6px}
.colour-v1 .vf-pills>button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;overflow-wrap:anywhere;padding:6px 15px;border:1px solid var(--rule-2);border-radius:24px;background:var(--surface);color:var(--ink-2);font:inherit;font-size:13px;line-height:1.3;font-weight:650;cursor:pointer}
.colour-v1 .vf-pills>button[aria-pressed=true]{color:var(--surface);background:var(--vf-accent);border-color:var(--vf-accent)}
.colour-v1 .vf-content{padding:22px 32px}
.colour-v1 .vf-chart-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:4px 15px;margin-bottom:14px}
.colour-v1 .vf-chart-head h3{margin:0;color:var(--ink);font:700 20px/1.3 var(--display);letter-spacing:-.035em}
.colour-v1 .vf-chart-head>span,.colour-v1 .vf-page{color:var(--ink-2);font-size:12px}
.colour-v1 .vf-role{min-width:0;border-top:1px solid var(--rule)}
.colour-v1 .vf-role>summary{display:grid;grid-template-columns:minmax(125px,1fr) minmax(50px,1.3fr) minmax(3ch,max-content) 12px;gap:14px;align-items:center;min-height:50px;margin:0;padding:6px 0;cursor:pointer;list-style:none}
.colour-v1 .vf-finder summary::-webkit-details-marker{display:none}
.colour-v1 .vf-role>summary::after,.colour-v1 .vf-missing>summary::after{content:'+';color:var(--ink-2);font:500 16px/1 var(--display)}
.colour-v1 .vf-role[open]>summary::after,.colour-v1 .vf-missing[open]>summary::after{content:'−'}
.colour-v1 .vf-name{color:var(--ink);font:620 15px/1.4 var(--display);overflow-wrap:anywhere}
.colour-v1 .vf-value{color:var(--ink);font-size:15px;line-height:1.3;text-align:right;font-variant-numeric:tabular-nums}
.colour-v1 .vf-bar{display:block;width:100%;height:9px;background:var(--vf-rail);border-radius:3px;fill:var(--vf-bar)}
.colour-v1 .vf-rail{min-width:0}
.colour-v1 .vf-facts{margin:3px 0 12px;padding:12px 15px;border-radius:9px;background:var(--proto-soft);color:var(--ink);font-size:14px;line-height:1.55}
.colour-v1 .vf-facts dl,.colour-v1 .vf-facts dd{margin:0}
.colour-v1 .vf-facts dl>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 10px;margin:4px 0}
.colour-v1 .vf-facts dt{font-weight:650}
.colour-v1 .vf-facts dd{overflow-wrap:anywhere}
.colour-v1 .vf-facts small{display:block;font-size:13px;color:var(--ink-2)}
.colour-v1 .vf-published dd{display:inline-flex;gap:5px 10px;flex-wrap:wrap}
.colour-v1 .vf-published abbr{text-decoration:none}
.colour-v1 .vf-facts .chk{width:fit-content;display:inline-flex;align-items:center;margin:0 2px;padding:0;background:none;color:var(--vf-accent)}
.colour-v1 .vf-sub,.colour-v1 .vf-page{margin:2px 0 6px}
.colour-v1 .vf-empty{padding:12px;margin:0;border-radius:8px;background:var(--proto-soft);color:var(--ink-2)}
.colour-v1 .vf-missing{margin-top:16px;border-top:1px solid var(--rule)}
.colour-v1 .vf-missing>summary{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-height:48px;list-style:none;font-size:14px;font-weight:650;cursor:pointer}
.colour-v1 .vf-missing>summary::after{margin-left:auto}
.colour-v1 .vf-foot{display:flex;flex-wrap:wrap;gap:0 12px;align-items:center;justify-content:space-between;border-top:1px solid var(--rule);margin-top:12px;padding-top:7px}
.colour-v1 .vf-foot p{flex:1 1 275px;margin:0;color:var(--ink-2);font-size:12px;line-height:1.6}
.colour-v1 .vf-source{display:inline-flex;min-height:44px;align-items:center;gap:4px;color:var(--vf-accent);font-size:13px;font-weight:650}
.colour-v1 .vf-source .ico{width:14px;height:14px}
@container finder (max-width:600px){
.colour-v1 .vf-cover{padding:23px 16px}
.colour-v1 .vf-kicker{font-size:10px}
.colour-v1 .vf-controls,.colour-v1 .vf-content{padding:16px}
.colour-v1 .vf-pills{gap:5px}
.colour-v1 .vf-pills>button{padding-inline:10px}
.colour-v1 .vf-chart-head>span{font-size:12px}
.colour-v1 .vf-role>summary{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(2ch,max-content) 9px;gap:7px}
.colour-v1 .vf-name{font-size:14px}
.colour-v1 .vf-facts{padding:10px}
}
