/* Veteran Drilling themes. The default theme is the normal look (no data-vdtheme attribute). */
.vdt-btn{background:transparent;color:inherit;border:1px solid currentColor;border-radius:4px;padding:6px 12px;font-weight:600;font-size:14px;line-height:1.2;font-family:inherit;cursor:pointer;opacity:.9}
.vdt-btn:hover{opacity:1}
.vdt-dlg{border:1px solid var(--line,#c5ccd1);border-radius:8px;background:var(--surface,#f6f7f8);color:var(--ink,#14202b);padding:20px;width:calc(100% - 28px);max-width:460px;max-height:calc(100dvh - 24px);overflow:auto;font-family:var(--body,inherit)}
.vdt-dlg::backdrop{background:rgba(0,0,0,.55)}
.vdt-dlg h2{font-family:var(--display,inherit);font-size:26px;margin:0 0 4px}
.vdt-dlg p{margin:0 0 12px;color:var(--muted,#566673);font-size:15px}
.vdt-grp{font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted,#566673);margin:14px 0 6px}
.vdt-opt{display:flex;align-items:center;gap:12px;border:2px solid var(--line,#c5ccd1);border-radius:8px;padding:10px 12px;margin:0 0 8px;cursor:pointer;min-height:56px;background:var(--bg,#e7eaec)}
.vdt-opt:has(input:checked){border-color:var(--accent,#d9141c)}
.vdt-opt input{width:20px;height:20px;flex:none;accent-color:var(--accent,#d9141c)}
.vdt-opt b{display:block;font-size:17px}
.vdt-opt small{display:block;color:var(--muted,#566673);font-size:14px;line-height:1.25}
.vdt-sw{display:flex;flex:none;border-radius:6px;overflow:hidden;border:1px solid rgba(0,0,0,.25)}
.vdt-sw i{display:block;width:16px;height:34px}
.vdt-done{width:100%;margin-top:10px;min-height:46px;border:0;border-radius:4px;background:var(--accent,#d9141c);color:var(--accent-ink,#fff);font-weight:700;font-size:16px;cursor:pointer}
html:root[data-vdtheme] header.top a,html:root[data-vdtheme] header.top .linkbtn{color:inherit}
html:root[data-vdtheme] nav.tabs button{color:var(--bar-ink);opacity:.85}
html:root[data-vdtheme] nav.tabs button[aria-current="page"]{background:rgba(255,255,255,.22);color:var(--bar-ink);opacity:1}
html:root[data-vdtheme] input,html:root[data-vdtheme] select,html:root[data-vdtheme] textarea{color:var(--ink)}
html:root[data-vdtheme] input[type=checkbox],html:root[data-vdtheme] input[type=radio]{accent-color:var(--accent)}

html:root[data-vdtheme="patriotic"]{--bg:#eef1f8;--surface:#ffffff;--ink:#10183a;--muted:#4b5578;--line:#b9c1dc;--steel:#3c3b6e;--accent:#b22234;--accent-ink:#ffffff;--ok:#1f6f43;--warn:#8a5a00;--bad:#b22234;--chip:#dfe4f3;--bar:#0a2463;--bar-ink:#ffffff;--rail:#7d86b0;color-scheme:light}
html:root[data-vdtheme="military"]{--bg:#c9c6b0;--surface:#e9e6d4;--ink:#1d2514;--muted:#4f5640;--line:#8d8d6b;--steel:#4b5320;--accent:#4f6a24;--accent-ink:#ffffff;--ok:#3d5a1f;--warn:#7a5200;--bad:#8b1a1a;--chip:#d6d2ba;--bar:#2f3a22;--bar-ink:#f1edd8;--rail:#6b6b4a;--display:'Stardos Stencil','Barlow Condensed','Arial Narrow',sans-serif;color-scheme:light}
html:root[data-vdtheme="christmas"]{--bg:#f4efe4;--surface:#fffdf8;--ink:#1b2a22;--muted:#55645a;--line:#cdbf9f;--steel:#165b33;--accent:#c0182d;--accent-ink:#ffffff;--ok:#165b33;--warn:#8a5a00;--bad:#a1122a;--chip:#e7dfc8;--bar:#0b3d2e;--bar-ink:#fdf6e3;--rail:#9aa68c;--display:'Mountains of Christmas','Barlow Condensed',cursive;color-scheme:light}
html:root[data-vdtheme="halloween"]{--bg:#120a1c;--surface:#201130;--ink:#f3e8ff;--muted:#b9a3d1;--line:#4a2d6a;--steel:#ff9a3d;--accent:#ff7a00;--accent-ink:#1a0d00;--ok:#7fe0a0;--warn:#ffd24a;--bad:#ff6b6b;--chip:#33204a;--bar:#0a0610;--bar-ink:#ffb25a;--rail:#6a4a8a;--display:'Creepster','Barlow Condensed',cursive;color-scheme:dark}
html:root[data-vdtheme="jarvis"]{--bg:#030f18;--surface:#071d2b;--ink:#d6f4ff;--muted:#7fb8d0;--line:#0f4f6b;--steel:#27e0ff;--accent:#1ad8ff;--accent-ink:#00131c;--ok:#4dffb0;--warn:#ffd166;--bad:#ff5c7a;--chip:#0b2e42;--bar:#04141f;--bar-ink:#bff2ff;--rail:#1c6f8f;--display:'Orbitron','Rajdhani',sans-serif;--body:'Rajdhani','Barlow',sans-serif;color-scheme:dark}
html:root[data-vdtheme="patriotic"] header.top{background:#0a2463 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64'%3E%3Cpolygon points='32,10 35,24 50,24 38,33 43,47 32,39 21,47 26,33 14,24 29,24' fill='white' opacity='.16'/%3E%3Cpolygon points='6,6 7.5,11 13,11 8.5,14 10,19 6,16 2,19 3.5,14 -1,11 4.5,11' fill='white' opacity='.10'/%3E%3C/svg%3E");border-bottom:0;border-image:none}
html:root[data-vdtheme="patriotic"] header.top::after{content:"";display:block;height:12px;background:repeating-linear-gradient(to bottom,#b22234 0 4px,#fff 4px 8px)}
html:root[data-vdtheme="patriotic"] h1{color:#0a2463}
html:root[data-vdtheme="patriotic"] .panel,html:root[data-vdtheme="patriotic"] .card,html:root[data-vdtheme="patriotic"] .rec,html:root[data-vdtheme="patriotic"] .mod{border-top:3px solid #b22234}
html:root[data-vdtheme="patriotic"] .tabs button[aria-selected="true"],html:root[data-vdtheme="patriotic"] .sub button[aria-selected="true"]{border-bottom-color:#b22234}
html:root[data-vdtheme="military"] header.top{background:linear-gradient(rgba(20,26,12,.5),rgba(20,26,12,.5)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='130'%3E%3Crect width='260' height='130' fill='%234b5320'/%3E%3Cpath d='M10 30C40 0 90 10 100 40C110 70 60 90 30 70C10 60 0 45 10 30Z' fill='%238a7a4a'/%3E%3Cpath d='M140 10C180 -10 230 20 220 55C210 85 160 80 145 55C138 40 135 20 140 10Z' fill='%23352a18'/%3E%3Cpath d='M70 90C110 80 150 100 140 125C120 140 70 135 60 115Z' fill='%23697836'/%3E%3Cpath d='M200 85C230 80 260 100 250 125C235 135 205 125 200 105Z' fill='%238a7a4a'/%3E%3Cpath d='M-10 95C20 85 40 105 30 125C10 135 -10 125 -10 95Z' fill='%23352a18'/%3E%3C/svg%3E");border-bottom:6px solid #c2a14a;border-image:none}
html:root[data-vdtheme="military"] h1,html:root[data-vdtheme="military"] h2,html:root[data-vdtheme="military"] h3{text-transform:uppercase;letter-spacing:.04em}
html:root[data-vdtheme="military"] .panel,html:root[data-vdtheme="military"] .card,html:root[data-vdtheme="military"] .rec,html:root[data-vdtheme="military"] .mod,html:root[data-vdtheme="military"] input,html:root[data-vdtheme="military"] select,html:root[data-vdtheme="military"] textarea,html:root[data-vdtheme="military"] .btn,html:root[data-vdtheme="military"] .chip,html:root[data-vdtheme="military"] .dlg{border-radius:2px}
html:root[data-vdtheme="military"] .btn{text-transform:uppercase;letter-spacing:.07em;font-weight:700}
html:root[data-vdtheme="military"] .panel,html:root[data-vdtheme="military"] .card,html:root[data-vdtheme="military"] .rec,html:root[data-vdtheme="military"] .mod{border:2px solid #8d8d6b;border-left:6px solid #4b5320}
html:root[data-vdtheme="military"] .chip.t{background:#4b5320;color:#f1edd8}
html:root[data-vdtheme="christmas"] header.top{background:#0b3d2e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='90'%3E%3Cg stroke='white' stroke-width='2' stroke-linecap='round' fill='none' opacity='.30'%3E%3Cpath d='M24 8v28M10 22h28M14 12l20 20M34 12L14 32'/%3E%3Cpath d='M96 50v20M86 60h20M89 53l14 14M103 53L89 67'/%3E%3Cpath d='M120 8v12M114 14h12'/%3E%3C/g%3E%3C/svg%3E");border-bottom:0;border-image:none}
html:root[data-vdtheme="christmas"] header.top::after{content:"";display:block;height:9px;background:repeating-linear-gradient(135deg,#c0182d 0 10px,#fff 10px 20px)}
html:root[data-vdtheme="christmas"] h1,html:root[data-vdtheme="christmas"] h2{color:#165b33}
html:root[data-vdtheme="christmas"] .panel,html:root[data-vdtheme="christmas"] .card,html:root[data-vdtheme="christmas"] .rec,html:root[data-vdtheme="christmas"] .mod{border-top:3px solid #d4af37}
html:root[data-vdtheme="christmas"] .tabs button[aria-selected="true"],html:root[data-vdtheme="christmas"] .sub button[aria-selected="true"]{border-bottom-color:#c0182d}
html:root[data-vdtheme="halloween"] header.top{background:#0a0610 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='90'%3E%3Cg fill='%23ff7a00' opacity='.20'%3E%3Cpath d='M30 30C24 22 16 22 12 28C18 28 20 32 22 36C24 33 27 32 30 35C33 32 36 33 38 36C40 32 42 28 48 28C44 22 36 22 30 30Z'/%3E%3Cpath d='M110 62C106 56 100 56 97 60C101 60 103 63 104 66C106 64 108 63 110 65C112 63 114 64 116 66C117 63 119 60 123 60C120 56 114 56 110 62Z'/%3E%3C/g%3E%3C/svg%3E");border-bottom:4px solid #ff7a00;border-image:none}
html:root[data-vdtheme="halloween"] h1,html:root[data-vdtheme="halloween"] h2{color:#ff9a3d;letter-spacing:.03em}
html:root[data-vdtheme="halloween"] .panel,html:root[data-vdtheme="halloween"] .card,html:root[data-vdtheme="halloween"] .rec,html:root[data-vdtheme="halloween"] .mod{box-shadow:0 0 0 1px rgba(255,122,0,.18),0 0 14px rgba(130,60,200,.25)}
html:root[data-vdtheme="halloween"] .chip.t{background:#ff7a00;color:#1a0d00}
html:root[data-vdtheme="halloween"] .btn.ghost{color:var(--ink)}
html:root[data-vdtheme="jarvis"] body{font-size:18px;background:radial-gradient(1100px 520px at 85% -8%,rgba(25,216,255,.20),transparent 62%),repeating-linear-gradient(0deg,rgba(25,216,255,.045) 0 1px,transparent 1px 38px),repeating-linear-gradient(90deg,rgba(25,216,255,.045) 0 1px,transparent 1px 38px),#030f18;background-attachment:fixed}
html:root[data-vdtheme="jarvis"] header.top{position:relative;overflow:hidden;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%2319d8ff' opacity='.26'%3E%3Ccircle cx='100' cy='100' r='92' stroke-width='2'/%3E%3Ccircle cx='100' cy='100' r='72' stroke-width='4'/%3E%3Ccircle cx='100' cy='100' r='52' stroke-width='2'/%3E%3Ccircle cx='100' cy='100' r='20' stroke-width='3' fill='%2319d8ff' fill-opacity='.35'/%3E%3Cpolygon points='100,64 132,120 68,120' stroke-width='3'/%3E%3Cpath d='M100 8v28M100 164v28M8 100h28M164 100h28M35 35l20 20M145 145l20 20M165 35l-20 20M55 145l-20 20' stroke-width='6'/%3E%3C/g%3E%3C/svg%3E") no-repeat right 40px center/auto 190%,linear-gradient(180deg,#05202f,#04141f);border-bottom:1px solid #19d8ff;border-image:none;box-shadow:0 0 18px rgba(25,216,255,.55)}
html:root[data-vdtheme="jarvis"] header.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#19d8ff,transparent);background-size:40% 100%;background-repeat:no-repeat;animation:vdscan 4s linear infinite}
@keyframes vdscan{from{background-position:-40% 0}to{background-position:140% 0}}
html:root[data-vdtheme="jarvis"] .brand small::after{content:"  ONLINE";color:#4dffb0;font-size:11px;letter-spacing:.14em}
html:root[data-vdtheme="jarvis"] h1{color:#e8fbff;text-shadow:0 0 12px rgba(25,216,255,.7);letter-spacing:.04em;font-size:30px}
html:root[data-vdtheme="jarvis"] h2{color:#9ee9ff;letter-spacing:.04em;font-size:21px}
html:root[data-vdtheme="jarvis"] .panel,html:root[data-vdtheme="jarvis"] .card,html:root[data-vdtheme="jarvis"] .rec,html:root[data-vdtheme="jarvis"] .mod,html:root[data-vdtheme="jarvis"] .dlg,html:root[data-vdtheme="jarvis"] .vdt-dlg{border:1px solid rgba(25,216,255,.38);box-shadow:0 0 14px rgba(25,216,255,.13),inset 0 0 22px rgba(25,216,255,.05);background:rgba(7,29,43,.88)}
html:root[data-vdtheme="jarvis"] .dlg,html:root[data-vdtheme="jarvis"] .vdt-dlg{background:#071d2b}
html:root[data-vdtheme="jarvis"] .dlg::backdrop,html:root[data-vdtheme="jarvis"] .vdt-dlg::backdrop{background:rgba(0,10,16,.75)}
html:root[data-vdtheme="jarvis"] input,html:root[data-vdtheme="jarvis"] select,html:root[data-vdtheme="jarvis"] textarea{border-color:#0f5f80;background:#031722}
html:root[data-vdtheme="jarvis"] input:focus,html:root[data-vdtheme="jarvis"] select:focus,html:root[data-vdtheme="jarvis"] textarea:focus{box-shadow:0 0 0 2px rgba(25,216,255,.55),0 0 14px rgba(25,216,255,.5)}
html:root[data-vdtheme="jarvis"] .btn{font-family:'Orbitron','Rajdhani',sans-serif;letter-spacing:.07em;text-transform:uppercase;font-size:14px;box-shadow:0 0 12px rgba(25,216,255,.5)}
html:root[data-vdtheme="jarvis"] .btn.ghost{box-shadow:none;border-color:#1c7fa3}
html:root[data-vdtheme="jarvis"] .chip.t{background:#19d8ff;color:#00131c}
html:root[data-vdtheme="jarvis"] .bar{background:rgba(4,20,31,.95);border-top:1px solid #19d8ff;box-shadow:0 -4px 18px rgba(25,216,255,.25)}
html:root[data-vdtheme="jarvis"] .tabs button[aria-selected="true"],html:root[data-vdtheme="jarvis"] .sub button[aria-selected="true"]{border-bottom-color:#19d8ff;text-shadow:0 0 8px rgba(25,216,255,.7)}
@media (prefers-reduced-motion:reduce){html:root[data-vdtheme="jarvis"] header.top::after{animation:none}}

.log li.hub{display:none}
html:root[data-vdtheme="jarvis"] body::before{content:"";position:fixed;left:0;top:0;bottom:0;width:14px;pointer-events:none;z-index:1;opacity:.55;background:linear-gradient(to bottom,#19d8ff 1px,transparent 1px) 0 0/6px 10px repeat-y,linear-gradient(to bottom,#19d8ff 2px,transparent 2px) 0 0/14px 50px repeat-y}
html:root[data-vdtheme="jarvis"] .log{counter-reset:vdmod;position:relative;padding-left:22px;background:linear-gradient(180deg,transparent,rgba(25,216,255,.6) 7%,rgba(25,216,255,.6) 93%,transparent) 8px 0/1px 100% no-repeat}
html:root[data-vdtheme="jarvis"] .log::before{content:none}
html:root[data-vdtheme="jarvis"] .log li.hub{display:block;position:relative;height:260px;margin:0 0 4px -22px;padding:0}
html:root[data-vdtheme="jarvis"] .log li.hub::before,html:root[data-vdtheme="jarvis"] .log li.hub::after{content:"";position:absolute;left:50%;top:50%;width:250px;height:250px;transform:translate(-50%,-50%);background-size:100% 100%;background-repeat:no-repeat;filter:drop-shadow(0 0 7px rgba(25,216,255,.65));pointer-events:none}
html:root[data-vdtheme="jarvis"] .log li.hub::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%2319d8ff'%3E%3Cpath d='M0 200H46M354 200H400M200 0V46M200 354V400' stroke-width='1' opacity='.5'/%3E%3Ccircle cx='200' cy='200' r='150' stroke-width='1' opacity='.35'/%3E%3Ccircle cx='200' cy='200' r='128' stroke-width='10' opacity='.12'/%3E%3Ccircle cx='200' cy='200' r='96' stroke-width='2' opacity='.7'/%3E%3Ccircle cx='200' cy='200' r='84' stroke-width='14' stroke-dasharray='5 5.15' opacity='.85'/%3E%3Ccircle cx='200' cy='200' r='70' stroke-width='3' opacity='.9'/%3E%3Ccircle cx='200' cy='200' r='56' stroke-width='1.5' opacity='.6'/%3E%3Ccircle cx='200' cy='200' r='38' stroke-width='6' opacity='.5'/%3E%3Ccircle cx='200' cy='200' r='22' stroke-width='2' opacity='.9'/%3E%3Ccircle cx='200' cy='200' r='8' fill='%23bff2ff' stroke='none' opacity='.95'/%3E%3C/g%3E%3Cg fill='%2319d8ff' font-family='monospace' font-size='9' opacity='.8'%3E%3Ctext x='300' y='62'%3ETGT 42%3C/text%3E%3Ctext x='56' y='346'%3ESYS 100%25%3C/text%3E%3Ctext x='306' y='346'%3EVD-OPS%3C/text%3E%3Ctext x='56' y='62'%3ERGBA 2547%3C/text%3E%3C/g%3E%3C/svg%3E")}
html:root[data-vdtheme="jarvis"] .log li.hub::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%2319d8ff'%3E%3Ccircle cx='200' cy='200' r='168' stroke-width='3' opacity='.25'/%3E%3Ccircle cx='200' cy='200' r='168' stroke-width='12' stroke-dasharray='330 726' opacity='.95' transform='rotate(-160 200 200)'/%3E%3Ccircle cx='200' cy='200' r='150' stroke-width='6' stroke-dasharray='2 6' opacity='.5'/%3E%3Ccircle cx='200' cy='200' r='186' stroke-width='1' stroke-dasharray='1 5' opacity='.5'/%3E%3C/g%3E%3C/svg%3E");animation:vdspin 30s linear infinite}
@keyframes vdspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes vdfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
html:root[data-vdtheme="jarvis"] .log li:not(.hub){position:relative;counter-increment:vdmod;margin:0 0 18px;animation:vdfloat 6.5s ease-in-out infinite}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(3n){animation-delay:-2.2s}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(3n+1){animation-delay:-4.4s}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(odd){margin-right:18px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(even){margin-left:14px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub)::after{content:"";position:absolute;top:50%;height:1px;background:#19d8ff;box-shadow:0 0 7px #19d8ff;opacity:.8}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(odd)::after{left:-14px;width:14px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(even)::after{left:-28px;width:28px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub)::before{content:"";position:absolute;top:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#19d8ff;box-shadow:0 0 9px #19d8ff}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(odd)::before{left:-18px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(even)::before{left:-32px}
html:root[data-vdtheme="jarvis"] .mod{position:relative;border-radius:0;border:1px solid rgba(25,216,255,.30);padding-top:28px;background:linear-gradient(#19d8ff,#19d8ff) 0 0/16px 2px no-repeat,linear-gradient(#19d8ff,#19d8ff) 0 0/2px 16px no-repeat,linear-gradient(#19d8ff,#19d8ff) 100% 0/16px 2px no-repeat,linear-gradient(#19d8ff,#19d8ff) 100% 0/2px 16px no-repeat,linear-gradient(#19d8ff,#19d8ff) 0 100%/16px 2px no-repeat,linear-gradient(#19d8ff,#19d8ff) 0 100%/2px 16px no-repeat,linear-gradient(#19d8ff,#19d8ff) 100% 100%/16px 2px no-repeat,linear-gradient(#19d8ff,#19d8ff) 100% 100%/2px 16px no-repeat,linear-gradient(135deg,rgba(9,52,78,.82),rgba(4,22,34,.9));box-shadow:0 0 18px rgba(25,216,255,.15),inset 0 0 26px rgba(25,216,255,.06)}
html:root[data-vdtheme="jarvis"] .mod::before{content:"MOD " counter(vdmod,decimal-leading-zero) "  //  LIVE";position:absolute;top:9px;left:18px;font:700 10px/1 'Orbitron',monospace;letter-spacing:.2em;color:#19d8ff;opacity:.9}
html:root[data-vdtheme="jarvis"] .mod:hover{box-shadow:0 0 26px rgba(25,216,255,.5),inset 0 0 30px rgba(25,216,255,.1);border-color:#19d8ff}
html:root[data-vdtheme="jarvis"] .mod h3{font-size:19px;letter-spacing:.06em;text-transform:uppercase;color:#e8fbff}
@media (min-width:900px){
html:root[data-vdtheme="jarvis"] .log{display:grid;grid-template-columns:minmax(0,1fr) 320px minmax(0,1fr);column-gap:34px;row-gap:0;padding-left:0;min-height:400px;background:linear-gradient(180deg,transparent,rgba(25,216,255,.6) 7%,rgba(25,216,255,.6) 93%,transparent) calc((100% - 388px)/2 + 17px) 0/1px 100% no-repeat,linear-gradient(180deg,transparent,rgba(25,216,255,.6) 7%,rgba(25,216,255,.6) 93%,transparent) calc((100% - 388px)/2 + 371px) 0/1px 100% no-repeat}
html:root[data-vdtheme="jarvis"] .log li.hub{grid-column:2;grid-row:1 / span 8;align-self:stretch;height:auto;margin:0}
html:root[data-vdtheme="jarvis"] .log li.hub::before,html:root[data-vdtheme="jarvis"] .log li.hub::after{width:340px;height:340px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub){margin:0 0 20px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(even){grid-column:1;margin-left:0}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(odd){grid-column:3;margin-right:0}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(even)::after{left:auto;right:-17px;width:17px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(even)::before{left:auto;right:-20px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(odd)::after{left:-17px;width:17px}
html:root[data-vdtheme="jarvis"] .log li:not(.hub):nth-child(odd)::before{left:-20px}
}
@media (prefers-reduced-motion:reduce){html:root[data-vdtheme="jarvis"] .log li:not(.hub),html:root[data-vdtheme="jarvis"] .log li.hub::after{animation:none}}


/* ---- tool menu (sidenav.js) ---- */
#vdnav{position:fixed;top:0;bottom:0;left:0;width:224px;z-index:40;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:auto;padding:10px 0 14px}
body.nav-right #vdnav{left:auto;right:0;border-right:0;border-left:1px solid var(--line)}
#vdnav .vn-head{display:flex;align-items:center;gap:10px;padding:4px 14px 12px}
#vdnav .vn-head img{height:30px;width:auto;max-width:96px;object-fit:contain}
#vdnav .vn-head span{font:700 15px/1 var(--display,inherit);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
#vdnav ul{list-style:none;margin:0;padding:0 8px;flex:1}
#vdnav li{margin:2px 0}
#vdnav a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;border-radius:6px;color:var(--ink);text-decoration:none;font-weight:600;line-height:1.2}
#vdnav a:hover{background:var(--chip)}
#vdnav a.cur{background:var(--accent);color:var(--accent-ink)}
#vdnav .vn-b{min-width:22px;text-align:center;border-radius:99px;background:var(--bad);color:#fff;font-size:12px;font-weight:700;padding:1px 7px}
#vdnav .vn-foot{display:flex;flex-direction:column;gap:6px;padding:10px 12px 0;border-top:1px solid var(--line);margin-top:8px}
#vdnav .vn-foot button{min-height:38px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:6px;cursor:pointer;font:inherit;font-size:14px}
#vdnav .vn-x{display:none}
#vdnavbk{display:none}
#vdnavopen{display:none;min-height:40px;margin-right:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;padding:0 12px;font-weight:700;cursor:pointer;font-size:15px}
#vdnavopen.show{display:inline-block}
body.has-nav{padding-left:224px}
body.has-nav.nav-right{padding-left:0;padding-right:224px}
body.has-nav header.top .logo{display:none}
body.has-nav .bar{left:224px}
body.has-nav.nav-right .bar{left:0;right:224px}
#vdnav.vn-hide{display:none}
@media (max-width:899px){
  #vdnav{width:min(82vw,300px);transform:translateX(-102%);transition:transform .18s ease;box-shadow:0 0 30px rgba(0,0,0,.35)}
  body.nav-right #vdnav{transform:translateX(102%)}
  #vdnav.open{transform:none}
  #vdnav.open ~ #vdnavbk{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:39}
  #vdnav .vn-x{display:block}
  #vdnav .vn-foot button:nth-child(1),#vdnav .vn-foot button:nth-child(2){display:none}
  #vdnavopen{display:inline-block}
}

/* ===== Old Glory: the American flag ===== */
html:root[data-vdtheme="flag"]{--bg:#f4f1ea;--surface:#ffffff;--ink:#14173a;--muted:#4a4f78;--line:#c6c9df;--steel:#3c3b6e;--accent:#b22234;--accent-ink:#ffffff;--ok:#1e7a46;--warn:#8a5a00;--bad:#b22234;--chip:#e4e7f4;--bar:#3c3b6e;--bar-ink:#ffffff;--rail:#7d86b0;color-scheme:light}
html:root[data-vdtheme="flag"] header.top{position:relative;overflow:hidden;background:#3c3b6e;color:#fff}
html:root[data-vdtheme="flag"] header.top::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,20,66,.84) 0%,rgba(18,20,66,.46) 38%,rgba(18,20,66,0) 72%),url(themes/flag.svg) 0 38%/106% auto no-repeat;animation:vdflagwave 18s ease-in-out infinite alternate}
html:root[data-vdtheme="flag"] header.top::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(98deg,rgba(255,255,255,0) 0 70px,rgba(255,255,255,.17) 105px,rgba(0,0,0,.17) 150px,rgba(255,255,255,0) 210px);background-size:420px 100%;animation:vdflagfold 10s linear infinite}
html:root[data-vdtheme="flag"] header.top .top-in{position:relative;z-index:1}
html:root[data-vdtheme="flag"] header.top .top-r>*,html:root[data-vdtheme="flag"] #vdnavopen{background:rgba(18,20,66,.8);color:#fff;border:0;border-radius:14px;padding:3px 11px}
html:root[data-vdtheme="flag"] header.top .brand small{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7);font-weight:700}
@keyframes vdflagwave{from{background-position:0 0,0 36%}to{background-position:0 0,-5% 41%}}
@keyframes vdflagfold{to{background-position:420px 0}}
html:root[data-vdtheme="flag"] h1,html:root[data-vdtheme="flag"] h2{color:#3c3b6e}
html:root[data-vdtheme="flag"] h1::before{content:"★";color:#b22234;margin-right:.35em;font-size:.8em}
html:root[data-vdtheme="flag"] #vdnav{border-right:7px solid;border-image:repeating-linear-gradient(to bottom,#b22234 0 18px,#ffffff 18px 36px) 1;background:#ffffff}
html:root[data-vdtheme="flag"] body.nav-right #vdnav{border-right:0;border-left:7px solid;border-image:repeating-linear-gradient(to bottom,#b22234 0 18px,#ffffff 18px 36px) 1}
html:root[data-vdtheme="flag"] #vdnav .vn-head span{color:#3c3b6e}
html:root[data-vdtheme="flag"] .panel,html:root[data-vdtheme="flag"] .card,html:root[data-vdtheme="flag"] .rec,html:root[data-vdtheme="flag"] .kpi,html:root[data-vdtheme="flag"] .mod,html:root[data-vdtheme="flag"] .sp{border-top:3px solid #b22234;border-left:3px solid #3c3b6e}
html:root[data-vdtheme="flag"] .tabs button[aria-selected="true"],html:root[data-vdtheme="flag"] .sub button[aria-selected="true"]{border-bottom-color:#b22234;color:#3c3b6e}
html:root[data-vdtheme="flag"] .btn.ghost{border-color:#3c3b6e;color:#3c3b6e}
html:root[data-vdtheme="flag"] .sg .grp{background:#3c3b6e}
html:root[data-vdtheme="flag"] body::after{content:"";position:fixed;right:-70px;bottom:-30px;width:560px;height:295px;background:url(themes/flag.svg) center/contain no-repeat;opacity:.055;pointer-events:none;z-index:0}
@media (prefers-reduced-motion:reduce){html:root[data-vdtheme="flag"] header.top::before,html:root[data-vdtheme="flag"] header.top::after{animation:none}}

/* ===== Marine Corps: scarlet and gold, with a CH-46 flying across the top ===== */
html:root[data-vdtheme="marine"]{--bg:#0e0e0b;--surface:#191914;--ink:#f1ecd9;--muted:#b3ab8c;--line:#3b3a2c;--steel:#c41230;--accent:#ffc72c;--accent-ink:#141410;--ok:#8fcf6a;--warn:#ffc72c;--bad:#ff6b6b;--chip:#26261c;--bar:#0a0a08;--bar-ink:#ffc72c;--rail:#6b6a52;--display:'Oswald','Barlow Condensed','Arial Narrow',sans-serif;color-scheme:dark}
html:root[data-vdtheme="marine"] body{background:linear-gradient(rgba(14,14,11,.93),rgba(14,14,11,.93)),repeating-linear-gradient(45deg,#1d1d14 0 14px,#13130d 14px 28px)}
html:root[data-vdtheme="marine"] header.top{position:relative;overflow:hidden;background:#0a0a08;color:#f1ecd9;border-bottom:4px solid #c41230;box-shadow:0 1px 0 #ffc72c}
html:root[data-vdtheme="marine"] header.top::before{content:"";position:absolute;left:-260px;top:4px;width:230px;height:88px;background:url(themes/ch46-gold.svg) center/contain no-repeat;opacity:.9;pointer-events:none;animation:vdch46fly 52s linear infinite}
html:root[data-vdtheme="marine"] header.top::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:var(--ch46-photo,none);background-size:cover;background-position:right center;opacity:.6;-webkit-mask-image:linear-gradient(to right,transparent 30%,#000 100%);mask-image:linear-gradient(to right,transparent 30%,#000 100%)}
html:root[data-vdtheme="marine"] header.top .top-in{position:relative;z-index:1}
@keyframes vdch46fly{0%{transform:translate(0,0)}25%{transform:translate(28vw,6px)}50%{transform:translate(56vw,-2px)}75%{transform:translate(84vw,5px)}100%{transform:translate(calc(100vw + 300px),0)}}
html:root[data-vdtheme="marine"] h1,html:root[data-vdtheme="marine"] h2,html:root[data-vdtheme="marine"] h3{font-family:var(--display);text-transform:uppercase;letter-spacing:.07em}
html:root[data-vdtheme="marine"] h1{color:#ffc72c;border-bottom:3px solid #c41230;display:inline-block;padding-bottom:2px}
html:root[data-vdtheme="marine"] h2{color:#f1ecd9}
html:root[data-vdtheme="marine"] .panel,html:root[data-vdtheme="marine"] .card,html:root[data-vdtheme="marine"] .rec,html:root[data-vdtheme="marine"] .kpi,html:root[data-vdtheme="marine"] .mod,html:root[data-vdtheme="marine"] .sp,html:root[data-vdtheme="marine"] .jc{background:#191914;border:1px solid #3b3a2c;border-left:5px solid #c41230}
html:root[data-vdtheme="marine"] .btn{text-transform:uppercase;letter-spacing:.07em;font-weight:700}
html:root[data-vdtheme="marine"] .btn.ghost{color:#f1ecd9;border-color:#6b6a52}
html:root[data-vdtheme="marine"] .chip.t{background:#c41230;color:#fff}
html:root[data-vdtheme="marine"] #vdnav{border-right:3px solid #c41230}
html:root[data-vdtheme="marine"] body.nav-right #vdnav{border-right:0;border-left:3px solid #c41230}
html:root[data-vdtheme="marine"] #vdnav a.cur{background:#ffc72c;color:#141410}
html:root[data-vdtheme="marine"] .tabs button[aria-selected="true"],html:root[data-vdtheme="marine"] .sub button[aria-selected="true"]{border-bottom-color:#ffc72c;color:#ffc72c}
html:root[data-vdtheme="marine"] .dlg,html:root[data-vdtheme="marine"] .vdt-dlg{background:#191914}
html:root[data-vdtheme="marine"] .bar{background:#0a0a08;border-top:2px solid #c41230}
html:root[data-vdtheme="marine"] body::after{content:"";position:fixed;right:24px;bottom:14px;width:440px;height:162px;background:url(themes/ch46-red.svg) center/contain no-repeat;opacity:.09;pointer-events:none;z-index:0}
@media (prefers-reduced-motion:reduce){html:root[data-vdtheme="marine"] header.top::before{animation:none;left:auto;right:18px}}

/* ===== Jarvis: boxes that float across the whole screen (turned on in the theme picker; the movement is done by theme.js) ===== */
html:root[data-vdtheme="jarvis"][data-vdfloat="on"] .log li.vdbub{position:fixed;left:0;top:0;margin:0!important;z-index:30;animation:none!important;will-change:transform;filter:drop-shadow(0 10px 22px rgba(0,0,0,.55))}
html:root[data-vdtheme="jarvis"][data-vdfloat="on"] .log li.vdbub:hover{z-index:31}
html:root[data-vdtheme="jarvis"][data-vdfloat="on"] .log li.vdbub::before,html:root[data-vdtheme="jarvis"][data-vdfloat="on"] .log li.vdbub::after{display:none}
#vdbubchip{position:fixed;bottom:14px;left:14px;z-index:35;min-height:38px;padding:0 14px;border:1px solid var(--accent,#19d8ff);background:rgba(4,20,31,.92);color:var(--ink,#d6f4ff);border-radius:20px;cursor:pointer;font:600 13px/1 var(--body,inherit);letter-spacing:.04em}
body.has-nav #vdbubchip{left:238px}
.vdt-opt.vdt-sub{margin:-2px 0 8px 26px;min-height:46px;border-style:dashed}
.vdt-opt[hidden]{display:none}
.vdneeds{max-width:900px;margin:14px auto 0;border-left:5px solid var(--warn,#c77700)}.vdneeds[hidden]{display:none}.vdn-i{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line)}.vdn-i:first-of-type{border-top:0}.vdn-t{flex:1;min-width:220px}.vdn-b{display:flex;gap:6px;flex-wrap:wrap}.linkbtn{background:none;border:0;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;font:inherit}
