/* Kashmir: an expedition workshop, with quiet star charts and warm instruments. */
:root {
  --paper: #0b121c;
  --ink: #ece8df;
  --muted: #a7b5c3;
  --green: #edb879;
  --sage: #172a37;
  --line: #2c3b49;
  --white: #ece8df;
  --model: #101c28;
  --lime: #edb879;
  --amber: #edb879;
  --ice: #92ced0;
  --panel: #111e2a;
  --deep: #080d15;
  color-scheme: dark;
  background: var(--deep);
}
body {
  background-color: var(--deep);
  background-image:
    radial-gradient(1px 1px at 35px 66px, #b6d1df80 70%, transparent 100%),
    radial-gradient(1px 1px at 253px 194px, #b6d1df65 70%, transparent 100%),
    radial-gradient(1px 1px at 376px 405px, #e6bf8b65 70%, transparent 100%),
    radial-gradient(ellipse at 82% 8%, #17364b55, transparent 42%);
  background-size: 481px 613px, 563px 739px, 827px 967px, 100% 1100px;
  background-repeat: repeat, repeat, repeat, no-repeat;
}
a:focus-visible, button:focus-visible, input:focus-visible, summary:focus-visible { outline-color: var(--amber); }
.site-header { background: #080e17f2; border-bottom-color: #314353; backdrop-filter: blur(16px); }
.brand { color: var(--ink); }
.brand-mark {
  color: var(--amber);
  background: linear-gradient(140deg, #253643, #101b25);
  border: 1px solid #8f7353;
  border-radius: 3px;
  box-shadow: inset 0 0 10px #edb87908;
}
.brand-sub { color: #8ca1b1; letter-spacing: .12em; }
#site-nav a:hover { color: var(--amber); }
.header-cta { border-color: #536372; color: #d5e2e7; background: #111d29; }
.button { border-color: #435665; border-radius: 4px; color: var(--ink); background: #17243088; }
.button:hover { background: #243744; border-color: #789197; }
.primary, .button.light { color: #17202a; border-color: var(--amber); background: var(--amber); box-shadow: 0 0 28px #e9ac6420; }
.primary:hover, .button.light:hover { background: #f6ca94; border-color: #f6ca94; }
.text-link { color: var(--ice); text-decoration-color: #537d87; }
.text-link:hover { color: #c0e9e8; text-decoration-color: var(--ice); }
.eyebrow { color: var(--amber); letter-spacing: .19em; }
.status-dot { background: var(--amber); box-shadow: 0 0 12px #ecbd8170; }
.hero { position: relative; isolation: isolate; padding-top: 72px; padding-bottom: 74px; }
.hero::before { content: ""; position: absolute; inset: 0 -60px; z-index: -1; background: radial-gradient(ellipse at 74% 48%, #9d693122, transparent 52%); pointer-events: none; }
.hero h1 { color: #f0ece2; letter-spacing: -.06em; }
.hero h1 span { color: var(--amber); }
.hero-intro { color: #adbecd; }
.hero-meta { color: #8ea8b7; }
.hero-meta span:before { color: var(--amber); }
.hero-figure {
  border: 1px solid #486071;
  border-radius: 5px;
  background-color: #101b27;
  background-image: url('assets/star-chart.svg'), radial-gradient(ellipse at 45% 53%, #61442742, transparent 70%);
  background-size: 100% 100%, cover;
  box-shadow: 0 25px 80px #00000055, inset 0 0 50px #192e4144;
}
.hero-figure img, .structure-figure img {
  filter: invert(1) grayscale(.65) sepia(.3) saturate(.8) brightness(1.2);
  mix-blend-mode: screen;
}
.figure-top { color: #b9d3db; border-bottom: 1px solid #31455799; background: #0e1822ad; }
.figure-top .mono { letter-spacing: .06em; }
.small-tag { border-color: #6e654f; color: #ebc998; background: #46342035; border-radius: 3px; }
.hero-figure figcaption { color: #a6b9c8; border-top-color: #324959; background: #0c1620ad; }
.development-note { background: #0b1421b3; border-color: #304456; }
.note-label { color: var(--ice); }
.development-note p { color: #a5b5c4; }
.development-note a { color: var(--amber); }
.section-heading h2, h2, h3 { color: var(--ink); }
.section-heading>p, .build-steps p, .roadmap p, .classroom-note p { color: var(--muted); }
.structure-figure { background: #121e2b; border: 1px solid #304655; border-radius: 5px; }
.structure-figure figcaption { border-color: #304655; color: #a2b6c4; background: #0d1722; }
.step-number, .guide-index { color: var(--amber); }
.build-specs { border-color: #314859; }
.build-specs strong { color: #d2e5e7; }
.library-section {
  background-color: #0d1723;
  background-image: linear-gradient(#637b8810 1px, transparent 1px), linear-gradient(90deg, #637b8810 1px, transparent 1px);
  background-size: 70px 70px;
  border-color: #344a5e;
}
.filter-group button { color: #b4c2ce; }
.filter-group button[aria-pressed="true"] { background: var(--amber); color: #17202a; }
.filter-group button:hover { border-color: #718996; }
.search-field { background: #080f19; border-color: #3c566c; border-radius: 4px; }
.search-field:focus-within { outline-color: var(--amber); }
.search-field input { color: var(--ink); }
.search-field input::placeholder { color: #92a7b7; opacity: 1; }
.download-card { background: linear-gradient(145deg, #182431, #101a26); border-color: #3b5060; border-radius: 6px; box-shadow: 0 8px 24px #00000020; }
.download-card:hover { border-color: #776c55; }
.download-top { color: var(--ice); }
.file-symbol { color: #edc087; background: #4a3a265c; border: 1px solid #716042; border-radius: 3px; }
.download-meta span:first-child { color: #a1d4d0; }
.download-actions { border-color: #364858; }
.download-actions .button { background: #24313d; border-color: #69737a; }
.download-actions .button:hover { background: #3d392e; border-color: var(--amber); }
.button:disabled, .button:disabled:hover { cursor: default; color: #a7b5c3; background: #172430; border-color: #435665; transform: none; box-shadow: none; }
.release-notice { margin: 22px 0 16px; color: var(--ice); font-size: 13px; }
.library-release-note { border: 1px solid #536372; border-left: 3px solid var(--amber); border-radius: 4px; padding: 18px 22px; margin-bottom: 26px; background: #111e2a; }
.library-release-note strong { display: block; color: var(--amber); margin-bottom: 5px; }
.library-release-note p { color: var(--muted); font-size: 13px; }
.coming-soon-label { display: inline-block; margin-top: 13px; color: var(--ice); font-size: 12px; font-weight: 600; }
.detail-button { color: var(--ice); }
.library-footnote { color: #9aafbe; }
.guide-list details { border-color: #304758; }
.guide-list details:last-child { border-color: #304758; }
.guide-list summary { color: #e0e8e7; }
.plus { color: var(--amber); }
.guide-content pre { background: #111f2b; color: #b4e0de; border: 1px solid #334f60; border-radius: 4px; }
.software-figure { background: #111d2a; border-color: #3f596a; border-radius: 5px; }
.software-figure img { border: 1px solid #3b505d; border-radius: 3px; }
.classroom-note { border-color: #304758; }
.expand-section { background: linear-gradient(145deg, #121c28, #17232d); border-top: 1px solid #394c5c; border-bottom: 1px solid #394c5c; }
.extension-grid article { border-color: #61727c; }
.extension-index { color: var(--ice); }
.roadmap li { border-color: #344755; }
.roadmap-state.available { color: #9fd1cd; }
.roadmap-state.current { color: var(--amber); }
.community-section { background: radial-gradient(ellipse at 20% 100%, #72502c45, transparent 65%), #141e29; border-top: 1px solid #7c6543; border-bottom: 1px solid #394955; }
.community-section .eyebrow { color: var(--amber); }
.community-section p { color: #b1c1ce; }
.community-action .small-tag { color: #d7bea0; border-color: #7b6b55; }
.site-footer { color: #9aafbe; }
dialog { background: #111d2a; color: var(--ink); border-color: #7d745e; border-radius: 7px; box-shadow: 0 25px 100px #00000099; }
dialog::backdrop { background: #02070ddb; backdrop-filter: blur(4px); }
.dialog-close { color: var(--ink); }
.dialog-inner .eyebrow { color: var(--amber); }
.dialog-note { background: #243240; border-left: 2px solid var(--amber); border-radius: 3px; }
.detail-list div { border-color: #354c5e; }
.detail-list code { color: #b7d8dc; }
.status-pill { color: #aed1cf; }
.skip-link { background: var(--amber); color: #15202b; }
@media(max-width:760px) {
  .brand-sub { display: none; }
  .hero { padding-top: 44px; padding-bottom: 42px; }
  .hero::before { inset: 0; }
  .menu-toggle { color: var(--ink); background: #142332; border-color: #4a6172; border-radius: 4px; }
  #site-nav.is-open { border-top: 1px solid #334758; padding-top: 12px; }
  .figure-top .mono { letter-spacing: 0; }
}
