/* Share block (yr/share.py) + the standalone shareable pages. Tokens: docs/DESIGN.md. */
.share { margin: 2rem 0 0; padding: 1.25rem; border: 1px solid var(--line, #2A3A5C); border-radius: 12px;
  background: var(--panel, #0C1426); max-width: 60rem; }
.share__h { font-size: 1.125rem; margin: 0 0 .25rem; }
.share__lede { margin: 0 0 .75rem; }
.share__text { margin: 0 0 .75rem; padding: .875rem 1rem; white-space: pre-wrap; overflow-wrap: anywhere;
  font: inherit; font-size: .9375rem; line-height: 1.55; color: var(--fg, #EEF3FA);
  background: var(--bg, #060B18); border: 1px dashed var(--edge, #5F759B); border-radius: 8px;
  -webkit-user-select: all; user-select: all; }
.share__url { margin: 0 0 .875rem; overflow-wrap: anywhere; }
.share__url .muted { margin-right: .5rem; }
.share__actions { gap: .5rem; align-items: center; }
.share__actions .btn { min-height: 44px; }
.share__status { min-height: 1em; }
.ask-consulted ol { margin: 0; padding-left: 1.5rem; }
.ask-consulted ol li { display: list-item; }
.ask-result > .share { margin-top: 1.5rem; }

/* standalone fact pages: /radar/projects-to-watch/<id>, /ask/q/<slug> */
.sp-facts { margin: 1.5rem 0; }
.sp-sec { margin: 2rem 0 0; max-width: 60rem; }
.sp-sec h2 { font-size: 1.25rem; margin: 0 0 .5rem; }
.sp-sec h2 em { font-style: normal; font-size: .8125rem; font-weight: 400; color: var(--fg-dim, #8696B2); margin-left: .5rem; }
.sp-list { margin: 0; padding-left: 1.25rem; }
.sp-list li { margin: .375rem 0; }
.sp-list li span { color: var(--fg-muted, #A6B4CB); }
.sp-sources li { margin: .625rem 0; overflow-wrap: anywhere; }
.sp-sources li span { display: block; font-size: .875rem; color: var(--fg-muted, #A6B4CB); }
.sp-phase { display: flex; flex-wrap: wrap; gap: .375rem; list-style: none; margin: .5rem 0; padding: 0; }
.sp-phase li { padding: .25rem .625rem; border: 1px solid var(--line, #2A3A5C); border-radius: 999px;
  font-size: .8125rem; color: var(--fg-dim, #8696B2); }
.sp-phase li.is-now { border-color: var(--accent, #38D6FF); color: var(--fg, #EEF3FA); }
.sp-phase li.is-past { color: var(--fg-muted, #A6B4CB); }
.sp-answer p { max-width: 46rem; }
.sp-passages { padding-left: 1.25rem; }
.sp-passages li { margin: 1rem 0; max-width: 46rem; }
.sp-passages h3 { font-size: 1rem; margin: 0 0 .25rem; }
.sp-passages .sp-src { font-size: .875rem; color: var(--fg-muted, #A6B4CB); }
/* North Sea project pages: /north-sea/p/<id> (yr/features/northsea_pages.py) */
.nsp-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 17rem); gap: 2rem; align-items: start; }
.nsp-loc { margin: 1.5rem 0 0; }
.nsp-loc svg { display: block; width: 100%; height: auto; border: 1px solid var(--line, #2A3A5C); border-radius: 12px; }
.nsp-loc figcaption { margin-top: .5rem; }
.nsp-loc__sea { fill: var(--bg, #060B18); }
.nsp-loc__land { fill: var(--panel, #141F3A); stroke: var(--edge, #5F759B); stroke-width: .6; }
.nsp-loc__dot { fill: var(--pro, #38E1D6); stroke: #05070D; stroke-width: 1.5; }
.nsp-loc__halo { fill: var(--pro, #38E1D6); opacity: .22; }
.nsp-src { overflow-wrap: anywhere; }
.nsp-note { margin-top: 1rem; max-width: 46rem; }
.nsp-kind { margin: 1.25rem 0 .5rem; font-size: 1rem; }
@media (max-width: 760px) { .nsp-grid { grid-template-columns: minmax(0, 1fr); gap: 0; } .nsp-loc { max-width: 17rem; } }
@media (max-width: 640px) {
  .share { padding: 1rem; }
  .share__actions .btn { flex: 1 1 100%; justify-content: center; text-align: center; }
}

/* ---------- Radar item pages (/radar/i/<id>) ------------------------------------------------ */
.rdi-src { margin: 0 0 var(--s5); padding: clamp(1rem, .8rem + 1.2vw, 1.5rem); border: 1px solid var(--edge); border-left: 3px solid var(--accent); border-radius: var(--r-lg); background: linear-gradient(180deg, rgb(255 255 255 / .035), transparent); }
.rdi-src__h { margin: 0 0 .35rem; font: 500 .6875rem/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--fg-dim); }
.rdi-src__l { margin: 0 0 .6rem; font-size: clamp(1rem, .95rem + .3vw, 1.15rem); }
.rdi-src__l a { color: var(--fg); text-underline-offset: .2em; }
.rdi-src__l a:hover { color: var(--accent); }
.rdi-sec { margin: 0 0 var(--s5); }
.rdi-sec > h2 { margin: 0 0 .4rem; font-size: clamp(1.05rem, 1rem + .5vw, 1.35rem); }
.rdi-grp { margin-top: .9rem; }
.rdi-grp__h { margin: 0 0 .35rem; font: 500 .6875rem/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--fg-muted); }
.rdi-grp__c { display: flex; flex-wrap: wrap; gap: .35rem; }
.rdi-chip { display: inline-flex; align-items: center; padding: .3em .7em; border: 1px solid var(--edge); border-radius: 99px; background: rgb(255 255 255 / .03); color: var(--fg-muted); font-size: .8125rem; text-decoration: none; transition: border-color .2s, color .2s; }
.rdi-chip:hover { border-color: var(--accent); color: var(--fg); }
.rdi-near { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .1rem; }
.rdi-near a { display: grid; gap: .1rem; padding: .7rem .9rem; border: 1px solid transparent; border-radius: var(--r-md, .8rem); text-decoration: none; color: var(--fg-muted); transition: border-color .2s, background .2s; }
.rdi-near a:hover { border-color: var(--edge); background: rgb(255 255 255 / .03); }
.rdi-near span { font: 500 .6875rem/1.3 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--fg-dim); }
.rdi-near b { font-weight: 500; color: var(--fg); line-height: 1.35; }
