/* Independent Skydiver Core — static handbook, no external dependencies */
:root{color-scheme:light;--paper:#fffefb;--canvas:#f6f5f0;--ink:#19313a;--muted:#69777b;--line:#e3e7e2;--teal:#287b76;--teal-weak:#e6f2ef;--bronze:#b77c43;--bronze-weak:#faf1e5;--red:#a8554d;--red-weak:#fbedeb;--blue:#56739d;--blue-weak:#edf2f9;--shadow:0 18px 48px rgba(28,45,49,.09);--heading:Georgia,"Iowan Old Style","Times New Roman",serif;--body:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
:root[data-theme="dark"]{color-scheme:dark;--paper:#19272d;--canvas:#101c22;--ink:#edf2ef;--muted:#aab8b9;--line:#314449;--teal:#8cd6ca;--teal-weak:#223f40;--bronze:#ecb679;--bronze-weak:#3f332a;--red:#f0a398;--red-weak:#432d2e;--blue:#aec7e8;--blue-weak:#293849;--shadow:0 12px 36px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:4.8rem}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:var(--teal)}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--bronze);outline-offset:3px}::selection{background:var(--teal-weak)}
.progress{position:fixed;left:0;top:0;height:3px;background:var(--teal);width:0;z-index:1000;transition:width .06s linear}
.topbar{height:68px;display:flex;justify-content:space-between;align-items:center;padding:0 clamp(1rem,3vw,2.5rem);background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:80}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}.brand-emblem{display:grid;place-items:center;width:36px;height:36px;border:1.5px solid var(--teal);border-radius:10px;color:var(--teal);font:700 15px var(--heading);letter-spacing:-.6px}.brand-name{font-weight:760;font-size:.92rem;letter-spacing:-.025em}.brand-tag{font-size:.68rem;color:var(--muted);display:block;margin-top:2px;letter-spacing:.09em;text-transform:uppercase}
.top-actions{display:flex;align-items:center;gap:8px}.top-button{border:1px solid var(--line);background:transparent;color:var(--ink);min-height:37px;border-radius:8px;padding:7px 12px;font-size:.82rem;display:inline-flex;gap:7px;align-items:center}.top-button:hover{background:var(--canvas)}.top-button kbd{font-size:.65rem;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:2px 4px}.toc-toggle{display:none}
.layout{display:grid;grid-template-columns:minmax(260px,306px) minmax(0,1fr);max-width:1620px;margin:0 auto;align-items:start}
.sidebar{position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto;border-right:1px solid var(--line);scrollbar-width:thin;background:var(--paper)}.sidebar-inner{padding:29px 21px 70px 28px}.sidebar-heading{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:16px}.toc-group{margin:21px 0}.toc-group-label{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:8px;padding-left:9px}.toc-link{display:flex;gap:10px;align-items:baseline;border-radius:8px;text-decoration:none;color:var(--muted);font-size:.79rem;line-height:1.37;font-weight:540;padding:8px 9px}.toc-link:hover{background:var(--canvas);color:var(--ink)}.toc-link.active{background:var(--teal-weak);color:var(--teal);font-weight:720}.toc-index{font-variant-numeric:tabular-nums;flex-shrink:0;width:21px;color:var(--teal);font-size:.68rem;font-weight:720}.sidebar-foot{font-size:.72rem;color:var(--muted);border-top:1px solid var(--line);margin-top:30px;padding:19px 8px}
.content{min-width:0;padding:0 clamp(20px,5vw,84px) 100px}.content-inner{max-width:880px;margin:0 auto}.hero{padding:clamp(58px,8vw,115px) 0 56px;border-bottom:1px solid var(--line)}.eyebrow{letter-spacing:.17em;text-transform:uppercase;color:var(--teal);font-weight:800;font-size:.71rem}.hero h1{font:normal clamp(2.8rem,5.5vw,5.05rem)/1.07 var(--heading);letter-spacing:-.052em;margin:23px 0 20px;max-width:800px}.hero h1 em{font-style:italic;color:var(--teal)}.dek{max-width:700px;color:var(--muted);font-size:clamp(1.07rem,1.5vw,1.26rem);line-height:1.65;margin:0}.hero-meta{margin:35px 0;display:flex;gap:9px;flex-wrap:wrap}.meta-tag{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid var(--line);border-radius:20px;font-size:.74rem;color:var(--muted);background:var(--paper)}.hero-safety{margin-top:38px;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--bronze);padding:21px 24px;max-width:760px;border-radius:0 10px 10px 0;color:var(--muted);font-size:.9rem;line-height:1.7}.hero-safety strong{color:var(--ink)}.hero-safety p{margin:4px 0}
.chapter{padding-top:75px;padding-bottom:42px;border-bottom:1px solid var(--line);scroll-margin-top:73px}.chapter-kicker{display:flex;align-items:center;gap:13px;color:var(--teal);font-size:.72rem;letter-spacing:.12em;font-weight:800;text-transform:uppercase}.chapter-rule{height:1px;width:30px;background:var(--bronze)}
.prose{max-width:760px}.prose .chapter-title{font:normal clamp(2rem,4vw,3.08rem)/1.14 var(--heading);letter-spacing:-.043em;margin:17px 0 38px;color:var(--ink)}.prose h2{font:normal 1.58rem/1.26 var(--heading);letter-spacing:-.027em;margin:49px 0 14px;scroll-margin-top:85px}.prose p{font-size:1rem;line-height:1.81;margin:0 0 19px}.prose ul,.prose ol{line-height:1.72;font-size:.98rem;padding-left:27px;margin:10px 0 24px}.prose li{padding-left:4px;margin:5px 0}.prose strong{font-weight:740}.prose em{font-style:italic}.prose blockquote{border-left:3px solid var(--teal);margin:28px 0;background:var(--teal-weak);padding:14px 22px;border-radius:0 8px 8px 0}.prose blockquote p{font-family:var(--heading);font-size:1.18rem;line-height:1.55;margin:0}.prose p.principle-line{font:normal 1.17rem/1.56 var(--heading);padding:9px 0}.prose table{width:100%;border-collapse:collapse;font-size:.86rem;line-height:1.55;margin:21px 0 30px;display:block;overflow-x:auto}.prose th{text-align:left;background:var(--teal-weak);color:var(--ink)}.prose th,.prose td{padding:12px 12px;min-width:130px;border-bottom:1px solid var(--line);vertical-align:top}.prose tbody tr:nth-child(even){background:rgba(128,128,128,.028)}
.lesson-note{margin:32px 0 35px;border:1px solid var(--line);border-left:4px solid var(--teal);background:var(--paper);border-radius:0 10px 10px 0;padding:19px 23px 15px;break-inside:avoid}.note-kind{display:flex;align-items:center;gap:9px;font-size:.69rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:var(--teal);margin-bottom:13px}.note-mark{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid currentColor;font-weight:800;font-size:.76rem;letter-spacing:0}.note-title{font:normal 1.28rem/1.35 var(--heading);margin:0 0 14px;scroll-margin-top:85px}.lesson-note p{font-size:.93rem;line-height:1.72;margin-bottom:13px}.lesson-note ul,.lesson-note ol{font-size:.91rem;margin:4px 0 12px}.note-simplification{background:var(--bronze-weak);border-left-color:var(--bronze)}.note-simplification .note-kind{color:var(--bronze)}.note-myth{background:var(--red-weak);border-left-color:var(--red)}.note-myth .note-kind{color:var(--red)}.note-exercise{background:var(--teal-weak);border-left-color:var(--teal)}.note-observation{background:var(--blue-weak);border-left-color:var(--blue)}.note-observation .note-kind{color:var(--blue)}
.figure-placeholder{border:1px dashed var(--teal);border-radius:12px;background:var(--paper);padding:22px 25px;margin:35px 0;break-inside:avoid}.figure-topline{display:flex;justify-content:space-between;gap:15px;align-items:center}.figure-chip{font-size:.69rem;font-weight:800;letter-spacing:.14em;color:var(--teal)}.figure-unfinished{font-size:.7rem;color:var(--muted)}.figure-symbol{height:94px;display:flex;justify-content:center;align-items:center;gap:22px;opacity:.55}.figure-symbol span{width:32px;height:32px;border:2px solid var(--teal);border-radius:50%}.figure-symbol span:nth-child(2){width:55px;height:4px;background:var(--bronze);border:0;border-radius:5px}.figure-symbol span:nth-child(3){width:22px;height:22px;border-radius:5px;transform:rotate(45deg)}.figure-placeholder figcaption{display:grid;gap:7px;color:var(--muted);font-size:.85rem;line-height:1.6}.figure-placeholder figcaption strong{color:var(--ink);font-size:.96rem}
.chapter-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin-top:56px}.chapter-step{text-decoration:none;border:1px solid var(--line);border-radius:10px;padding:19px;background:var(--paper);display:grid;gap:6px;min-width:0;color:var(--ink)}.chapter-step:hover{border-color:var(--teal)}.chapter-step span{color:var(--teal);text-transform:uppercase;letter-spacing:.11em;font-size:.66rem;font-weight:760}.chapter-step strong{font:normal 1.04rem/1.4 var(--heading)}.chapter-step.next{grid-column:2;text-align:right}.chapter-step.previous{grid-column:1}
.search-dialog{border:1px solid var(--line);width:min(92vw,690px);padding:0;border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);max-height:min(80vh,740px)}.search-dialog::backdrop{background:rgba(11,25,29,.62);backdrop-filter:blur(3px)}.search-header{padding:19px 22px;display:flex;gap:12px;border-bottom:1px solid var(--line)}.search-header input{flex:1;min-width:0;border:0;outline:0!important;background:transparent;color:var(--ink);font-size:1rem}.search-close{background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:7px;padding:5px 9px}.search-help{font-size:.75rem;color:var(--muted);padding:11px 22px;border-bottom:1px solid var(--line)}.search-results{max-height:54vh;overflow:auto;padding:12px}.search-result{border:0;border-radius:10px;background:transparent;text-align:left;width:100%;display:block;color:var(--ink);padding:13px 14px}.search-result:hover,.search-result:focus{background:var(--canvas)}.search-result strong{display:block;font-size:.92rem;line-height:1.4}.search-result span{display:block;color:var(--muted);font-size:.8rem;line-height:1.55;margin-top:3px}.search-empty{padding:35px;text-align:center;color:var(--muted);font-size:.9rem}
.footer{max-width:760px;padding:55px 0 85px;font-size:.77rem;color:var(--muted);line-height:1.7}.footer a{color:inherit}.back-top{position:fixed;bottom:20px;right:22px;border-radius:40px;background:var(--ink);color:var(--paper);padding:10px 15px;font-size:.78rem;text-decoration:none;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.back-top.visible{opacity:1;pointer-events:auto;transform:none}
@media(max-width:980px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;top:68px;left:0;width:min(360px,86vw);height:calc(100vh - 68px);box-shadow:var(--shadow);z-index:85;transform:translateX(-106%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-scrim{position:fixed;inset:68px 0 0;background:rgba(0,0,0,.38);z-index:84;display:none}.mobile-scrim.visible{display:block}.toc-toggle{display:inline-flex}.content{padding:0 clamp(20px,6vw,62px) 80px}}
@media(max-width:560px){.topbar{height:62px;padding:0 15px}.brand-tag{display:none}.brand-name{font-size:.83rem}.brand-emblem{height:33px;width:33px}.top-button{font-size:0;gap:0;padding:8px 9px;min-height:34px}.top-button .symbol{font-size:1.02rem}.top-button kbd{display:none}.sidebar{top:62px;height:calc(100vh - 62px)}.mobile-scrim{top:62px}.hero{padding:53px 0 47px}.hero h1{font-size:2.65rem}.chapter{padding-top:55px}.prose .chapter-title{font-size:2.1rem}.prose h2{font-size:1.36rem;margin-top:38px}.prose p{font-size:.97rem}.lesson-note{margin-left:-6px;margin-right:-6px;padding:16px 18px}.figure-placeholder{padding:19px}.chapter-steps{grid-template-columns:1fr}.chapter-step.previous,.chapter-step.next{grid-column:1;text-align:left}.meta-tag{font-size:.68rem}}
@media print{.topbar,.sidebar,.progress,.back-top,.chapter-steps,.search-dialog,.mobile-scrim{display:none!important}.layout{display:block}.content{padding:0}.content-inner{max-width:none}.hero{padding:0 0 20px}.hero h1{font-size:35pt}.chapter{padding-top:15mm;break-before:page;border:0}.prose .chapter-title{font-size:25pt}.prose h2{break-after:avoid}.figure-placeholder,.lesson-note,blockquote{break-inside:avoid}.prose p{font-size:10.5pt;line-height:1.5}.footer{display:none}body{background:white;color:black}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.hero-safety blockquote{border:0;padding:0;margin:8px 0 15px;background:transparent} .hero-safety blockquote p{font:inherit;color:var(--muted);margin:0} .hero-safety p:last-child{margin-bottom:0}
/* Edition 0.5: editable, responsive technical diagrams */
.figure-rendered{padding:15px 18px 19px;border-style:solid;border-color:var(--line);background:var(--paper)}
.figure-rendered .figure-topline{padding:0 2px 10px}
.figure-rendered .figure-complete{color:var(--muted);font-size:.73rem}
.figure-rendered .diagram-image{display:block;width:100%;height:auto;max-width:100%;background:#fff;border-radius:8px;object-fit:contain}
.figure-rendered figcaption{margin-top:13px;padding:0 2px}
@media(max-width:560px){.figure-rendered{padding:9px}.figure-rendered .figure-complete{font-size:.62rem}.figure-rendered figcaption{margin-top:10px}}

/* 0.7: the planned equipment part is an unnumbered, noninstructional preview. */
.toc-group-label{overflow-wrap:anywhere}
.chapter-coming-up .chapter-kicker{color:var(--muted)}
.chapter-coming-up .chapter-title{max-width:690px}
.chapter-coming-up .prose{border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:clamp(18px,3vw,32px);margin-top:30px}
.chapter-coming-up .prose h1{margin-top:0}
.chapter-coming-up .prose p:last-child{margin-bottom:0}

/* Opening-page entry to the navigable introduction */
.hero-start{display:inline-flex;align-items:center;gap:12px;margin-top:20px;color:var(--teal);font-weight:750;font-size:.93rem;text-decoration:none;padding:7px 0;border-bottom:1px solid currentColor}.hero-start:hover{color:var(--ink)}

/* Edition v0.11: the callout banner doubles as its heading when labels match. */
.note-kind-heading{margin:0 0 13px;line-height:1.3;font-family:var(--body);scroll-margin-top:85px}

/* Figure 01: photo-first layout; all labels are HTML, not baked into imagery. */
.figure-photo{border:1px solid var(--line);background:var(--paper);padding:16px 18px 19px}
.figure-photo .figure-topline{margin-bottom:13px}
.figure-photo-frame{background:var(--canvas);border-radius:9px;overflow:hidden}
.photo-image{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#e9eff0}
.photo-awaiting{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted);text-align:center;padding:27px;border:1px dashed var(--line)}
.photo-awaiting-icon{font-size:3rem;line-height:1;color:var(--teal);opacity:.5}
.photo-awaiting strong{font:normal 1.28rem var(--heading);color:var(--ink)}
.photo-awaiting small{font-size:.78rem;margin-top:10px}
.figure-control-labels{margin:12px 0 0;padding:0;color:var(--muted);font-size:.82rem;line-height:1.55}
.figure-control-labels strong{color:var(--ink)}
.figure-photo figcaption{margin-top:18px;padding:0 2px}
@media(max-width:560px){.figure-photo{padding:12px}.figure-control-labels{font-size:.8rem}.photo-awaiting{min-height:205px}}

/* v0.23: Further-reading headings are ordinary resource sections. */
.prose h3.resource-heading{font:normal 1.3rem/1.32 var(--heading);letter-spacing:-.018em;margin:36px 0 12px;scroll-margin-top:85px}
.prose h3.resource-heading + ul{margin-top:7px}
