/* Delta-V Desk — an Apollo-style flight plan page: manila paper with a punched timeline gutter, a Hohmann transfer ellipse plotted between two circular orbits, ΔV burn marks in ignition orange; flight-plan blue ink, Exo 2 for headings and figures. */
:root,[data-theme="space-tools"]{
--color-primary:#0044ee;--color-accent:#f2711c;--color-bg:#efe6cf;--color-bg-alt:#e5dabd;
--color-text:#1b1f2a;--color-text-muted:#4f5262;--color-border:#d4c8a6;
--card:#faf6ea;--blue:#0044ee;--blue-soft:#4d6fc4;--burn:#f2711c;--ink:#1b1f2a;--manila:#efe6cf;--paper:#faf6ea;--grid:#0044ee12;
--radius-sm:2px;--radius-md:4px;
--font-display:"Exo 2","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
--font-base:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
--plot:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px)}
*{box-sizing:border-box}
body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-base);-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
:focus-visible{outline:3px solid var(--burn);outline-offset:3px}
/* nav */
.site-nav{background:var(--paper);border-bottom:3px solid var(--blue)}
.nav-container{position:relative;height:60px;max-width:1160px;margin:auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}
.nav-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.nav-logo{height:34px}
.nav-site-name{font:700 22px/1 var(--font-display);color:var(--blue)}
.nav-links,.footer-links{display:flex;gap:22px;flex-wrap:wrap}
.nav-links a,.footer-links a{text-decoration:none;color:var(--color-text-muted);font:600 15px var(--font-base)}
.nav-links a:hover,.footer-links a:hover{color:var(--blue);text-decoration:underline;text-decoration-color:var(--burn);text-decoration-thickness:2px}
/* home */
.ov-home{max-width:1160px;margin:auto;padding:0 20px 90px}
.ov-hero{display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:48px;align-items:center;margin:40px 0 44px;padding-bottom:40px;border-bottom:1px solid var(--color-border)}
.ov-copy small{font:600 15px var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--blue-soft)}
.ov-copy h1{font:700 clamp(38px,5vw,60px)/1.04 var(--font-display);margin:12px 0 18px;color:var(--ink);max-width:16ch}
.ov-copy h1 em{font-style:normal;color:var(--blue)}
.ov-copy p{font-size:17px;line-height:1.7;color:var(--color-text-muted);max-width:54ch;margin:0}
.ov-sheet{position:relative;margin:0;background:var(--paper);background-image:var(--plot);background-size:20px 20px;border:1px solid var(--color-border);padding:16px 16px 14px 16px;box-shadow:4px 4px 0 var(--color-bg-alt)}
.ov-sheet svg{display:block;width:100%;height:auto}
.ov-sheet .ov-gutter{fill:var(--manila);stroke:var(--color-border)}
.ov-sheet .ov-punch{fill:var(--color-bg-alt);stroke:#bfb28c}
.ov-sheet .ov-tick{stroke:var(--ink);stroke-width:1}
.ov-sheet .ov-get{font:600 9px var(--font-display);fill:var(--ink)}
.ov-sheet .ov-get-burn{fill:var(--burn)}
.ov-sheet .ov-planet{fill:var(--blue)}
.ov-sheet .ov-orbit{fill:none;stroke:var(--ink);stroke-width:1.4;stroke-dasharray:760;stroke-dashoffset:760;animation:ov-draw 1.2s ease-out .2s forwards}
.ov-sheet .ov-orbit-in{stroke-dasharray:210;stroke-dashoffset:210;animation-duration:.7s}
.ov-sheet .ov-transfer{fill:none;stroke:var(--burn);stroke-width:2.4;stroke-dasharray:6 5;opacity:0;animation:ov-show .4s 1.35s forwards}
.ov-sheet .ov-craft{fill:var(--ink);opacity:0;animation:ov-show .1s 1.45s forwards}
.ov-sheet .ov-burn{opacity:0}
.ov-sheet .ov-burn1{animation:ov-show .3s 1.3s forwards}
.ov-sheet .ov-burn2{animation:ov-show .3s 3.1s forwards}
.ov-sheet .ov-burn circle{fill:var(--burn)}
.ov-sheet .ov-burn text{font:700 12px var(--font-display);fill:var(--burn)}
.ov-sheet .ov-label{font:600 10px var(--font-display);fill:var(--color-text-muted)}
@keyframes ov-draw{to{stroke-dashoffset:0}}
@keyframes ov-show{to{opacity:1}}
.ov-caption{margin:10px 0 0;font:500 14px/1.5 var(--font-display);color:var(--color-text-muted)}
.ov-rail{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-bottom:10px;border-bottom:2px solid var(--blue);font:500 19px var(--font-display);color:var(--color-text-muted)}
.ov-rail b{color:var(--blue);font-weight:700}
.ov-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}
.ov-card{position:relative;display:flex;flex-direction:column;padding:20px 22px 18px 44px;background:var(--card);border:1px solid var(--color-border);border-radius:var(--radius-md);text-decoration:none;color:inherit}
.ov-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:26px;background:var(--manila);border-right:1px solid var(--color-border);background-image:radial-gradient(circle at 13px 24px,var(--color-bg-alt) 4px,transparent 5px),radial-gradient(circle at 13px calc(100% - 24px),var(--color-bg-alt) 4px,transparent 5px)}
.ov-card:hover{border-color:var(--blue);box-shadow:inset 0 -4px 0 var(--burn)}
.ov-sym{align-self:flex-start;padding:3px 10px;border:1.5px solid var(--burn);border-radius:2px;font:700 17px var(--font-display);color:var(--ink);background:#fff}
.ov-card h2{font:700 22px/1.15 var(--font-display);margin:14px 0 8px;color:var(--blue)}
.ov-card p{margin:0 0 16px;font-size:14px;line-height:1.65;color:var(--color-text-muted);flex:1}
.ov-open{font:700 14px var(--font-base);color:var(--blue)}
.ov-note{margin-top:34px;padding:16px 18px;border-left:6px solid var(--burn);border-radius:var(--radius-sm);background:var(--card);font-size:14px;line-height:1.7;color:var(--color-text-muted)}
/* detail */
.ovd-page{max-width:1080px;margin:auto;padding:24px 20px 90px}
.ovd-crumb{font-size:13px;color:var(--color-text-muted)}
.ovd-crumb a{text-decoration:none;font-weight:700}
.ovd-head{max-width:800px;padding:30px 0 24px}
.ovd-kicker{display:inline-flex;align-items:center;gap:8px;font:600 14px var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--blue-soft)}
.ovd-kicker::before{content:"";width:18px;height:10px;border:2px solid var(--burn);border-radius:50%}
.ovd-head h1{font:700 clamp(32px,4.4vw,52px)/1.06 var(--font-display);margin:10px 0 14px;color:var(--ink)}
.ovd-head p{font-size:18px;line-height:1.7;color:var(--color-text-muted);margin:0}
.ovd-tool{background:var(--card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin:14px 0 50px}
.ovd-tool-label{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;background:var(--blue);color:#fff;font:700 19px var(--font-display)}
.ovd-tool-label i{flex:0 0 90px;height:14px;border-top:2px dashed var(--burn);border-radius:50% 50% 0 0}
.ovd-tool-body{padding:28px;background-image:var(--plot);background-size:20px 20px}
.ovd-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:56px}
.ovd-reading{font-size:17px;line-height:1.8}
.ovd-reading h2{font:700 28px/1.18 var(--font-display);margin:36px 0 12px;color:var(--blue)}
.ovd-reading p{margin:0 0 14px}
.ovd-reading ol,.ovd-reading ul{margin:0 0 16px;padding-left:22px}
.ovd-reading ol{list-style:decimal}.ovd-reading ul{list-style:disc}
.ovd-reading li{margin-bottom:7px}
.ovd-side{align-self:start;background:var(--card);border:1px solid var(--color-border);border-top:4px solid var(--blue);border-radius:var(--radius-md);padding:20px;color:var(--color-text-muted);font-size:14px;line-height:1.65}
.ovd-side strong{display:block;color:var(--blue);font:700 19px var(--font-display);margin-bottom:6px}
.ovd-side a{display:inline-block;margin-top:12px;font-weight:700;text-decoration:none;color:var(--blue)}
.ovd-side a:hover{text-decoration:underline;text-decoration-color:var(--burn)}
.ovd-index{margin-top:20px;border-top:1px solid var(--color-border);padding-top:14px}
.ovd-index ul{list-style:none;margin:10px 0 0;padding:0}
.ovd-index li{padding:6px 0;font-size:13px}
.ovd-index a{display:block;margin:0;font-weight:400;color:var(--color-text)}
.ovd-index span[aria-current]{font-weight:700;color:var(--blue)}
.ovd-faq,.ovd-related{margin-top:56px}
.ovd-faq h2,.ovd-related h2{font:700 28px var(--font-display);margin:0 0 16px;color:var(--blue)}
.ovd-faq details{border-bottom:1px solid var(--color-border);padding:15px 0}
.ovd-faq summary{cursor:pointer;font-weight:700}
.ovd-faq p{color:var(--color-text-muted);line-height:1.75}
.ovd-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ovd-related-card{display:block;background:var(--card);padding:18px 20px 20px;border:1px solid var(--color-border);border-left:5px solid var(--blue);border-radius:var(--radius-md);text-decoration:none;color:inherit}
.ovd-related-card:hover{border-left-color:var(--burn)}
.ovd-related-card h3{font:700 19px/1.2 var(--font-display);margin:0 0 8px;color:var(--blue)}
.ovd-related-card p{font-size:14px;line-height:1.6;color:var(--color-text-muted);margin:0 0 12px}
.ovd-related-card span{font:700 14px var(--font-base);color:var(--blue)}
.ovd-disclaimer{margin:44px 0 0;padding:16px 18px;border-left:6px solid var(--burn);border-radius:var(--radius-sm);background:var(--card);font-size:14px;line-height:1.7;color:var(--color-text-muted)}
.site-footer{background:var(--paper);border-top:3px solid var(--blue);padding:32px 20px;text-align:center}
.footer-copyright{margin-top:14px;font-size:12px;color:var(--color-text-muted)}
/* tool surface */
[data-theme="space-tools"] .tool-row{gap:16px;margin-bottom:18px}
[data-theme="space-tools"] .tool-field{font-size:13px;font-weight:700;color:var(--color-text-muted);gap:7px}
[data-theme="space-tools"] .tool-input,[data-theme="space-tools"] .tool-textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;padding:10px 12px;font:16px/1.4 var(--font-base);color:var(--color-text)}
[data-theme="space-tools"] .tool-input:focus,[data-theme="space-tools"] .tool-textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px #0044ee26}
[data-theme="space-tools"] .tool-btn{border-radius:var(--radius-sm);font:700 14px var(--font-base)}
[data-theme="space-tools"] .tool-btn-primary{background:var(--blue);color:#fff;border:0}
[data-theme="space-tools"] .tool-result-box{margin-top:22px;padding:22px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--color-border);border-left:5px solid var(--burn);font-size:15px;word-break:normal}
[data-theme="space-tools"] .tool-stat-hero{margin:0 0 8px;font:700 clamp(30px,5vw,48px)/1.08 var(--font-display);color:var(--blue);overflow-wrap:anywhere}
[data-theme="space-tools"] .tool-unit{display:inline-block;margin-left:12px;font:600 15px var(--font-base);color:var(--color-text-muted);vertical-align:middle}
[data-theme="space-tools"] .tool-hint{font-size:14px;line-height:1.7;color:var(--color-text-muted);margin:8px 0 0}
[data-theme="space-tools"] .tool-scroll{overflow-x:auto;margin-top:14px}
[data-theme="space-tools"] .tool-table td,[data-theme="space-tools"] .tool-table th{font-size:14px;background:#fff}
[data-theme="space-tools"] .tool-table td:not(:first-child){font-family:var(--font-display);font-size:15px}
[data-theme="space-tools"] .tool-table th{background:var(--ink);color:var(--paper)}
@media(max-width:960px){
.ov-grid,.ovd-related-grid{grid-template-columns:repeat(2,1fr)}
.ov-hero{grid-template-columns:minmax(0,1fr) 340px;gap:28px}
}
@media(max-width:768px){
.ov-hero{display:none}
.ov-home{padding:24px 16px 60px}
.ov-grid,.ovd-related-grid{grid-template-columns:1fr}
.ovd-head{padding-top:22px}
.ovd-layout{grid-template-columns:1fr;gap:28px}
.ovd-tool-body{padding:20px 16px}
.ovd-tool-label{padding:12px 16px}
}
@media(prefers-reduced-motion:reduce){
.ov-sheet .ov-orbit{animation:none;stroke-dashoffset:0}
.ov-sheet .ov-craft{animation:none;opacity:1}
.ov-sheet .ov-burn,.ov-sheet .ov-transfer{animation:none;opacity:1}
}
[data-theme="space-tools"] .static-page-container a{color:var(--blue)}
[data-theme="space-tools"] .guide-breadcrumb a,[data-theme="space-tools"] .guide-index-link{color:var(--blue)}
