/* Silvengate Dusk styling for the OnyGuard presentation */
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(fonts/figtree-latin-wght-normal.woff2) format("woff2")}
:root{--bg:#fff;--soft:#F6F7F8;--ink:#0B0B0F;--body:#3C4048;--muted:#7B8089;--hair:#E7E9EC;--hair2:#F0F1F3;--green:#0F9C79;--green-soft:#E6F4EF;--g1:#2F9C6B;--g2:#4A3F8C;--navy:#151C38;--forest:#0F3B2E;--indigo:#2B2660;--black:#0A0A0A;--warn:#B45309;--warn-soft:#FDF3E7;--err:#B42318;
--f:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--bar:66px;--r:16px;--sh:0 1px 2px rgba(11,11,15,.04),0 10px 30px -18px rgba(11,11,15,.18)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + 14px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--body);font:17px/1.62 var(--f);-webkit-font-smoothing:antialiased}
a{color:var(--green);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:6px}
h1,h2,h3,h4{color:var(--ink);letter-spacing:-.02em;font-family:var(--f)}
b,strong{color:var(--ink)}
.grad{background:linear-gradient(95deg,var(--g1) 0%,var(--g2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 20px;border-radius:999px;border:0;background:var(--black);color:#fff;font:600 14.5px var(--f);cursor:pointer;transition:background .2s,transform .15s;white-space:nowrap;text-decoration:none}
.btn::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .5s}
.btn:hover{background:var(--green)}.btn:hover::after{left:120%}.btn:active{transform:translateY(1px)}
.btn.line{background:transparent;color:var(--ink);border:1px solid var(--hair)}.btn.line:hover{border-color:var(--ink);background:transparent}.btn.line::after{display:none}
.btn.sm{height:34px;padding:0 14px;font-size:13.5px}
.btn.danger:hover{background:var(--err)}
.ic{width:34px;height:34px;padding:0;justify-content:center;border-radius:10px}

/* login */
.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(1200px 600px at 20% -10%,#EAF6F1 0,transparent 60%),radial-gradient(900px 500px at 110% 110%,#EEEBF8 0,transparent 55%),#fff}
.gatecard{width:min(420px,100%);background:#fff;border:1px solid var(--hair);border-radius:24px;box-shadow:var(--sh);padding:34px;display:grid;gap:14px}
.glogo{height:28px;width:auto;justify-self:start;margin-bottom:6px}
.gatecard h1{margin:0;font-size:28px}.gsub{margin:0;color:var(--muted);font-size:15px}.gsub.small{font-size:14px}
.gatecard label{display:grid;gap:6px;font:600 13.5px var(--f);color:var(--ink)}
.gatecard input{height:46px;border:1px solid var(--hair);border-radius:12px;padding:0 14px;font:16px var(--f)}
.gatecard input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.gerr{margin:0;color:var(--err);font-size:14.5px}
.gatecard .btn{justify-self:start;margin-top:4px}

/* top bar */
#bar{position:sticky;top:0;z-index:40;height:var(--bar);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--hair)}
.barin{height:100%;max-width:1320px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:0 24px}
.logo{height:22px;width:auto;display:block}
.chips{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;padding:4px 0;mask-image:linear-gradient(90deg,#000 92%,transparent)}
.chips::-webkit-scrollbar{display:none}
.chips a{flex:none;padding:6px 12px;border-radius:999px;color:var(--body);text-decoration:none;font:500 13.5px var(--f);white-space:nowrap}
.chips a:hover{background:var(--soft);color:var(--ink)}.chips a.on{background:var(--green-soft);color:var(--forest);font-weight:600}
.chips a.hid{color:var(--muted);text-decoration:line-through}
.right{display:flex;gap:8px;align-items:center;flex:none}
.status{font:500 13px var(--f);color:var(--muted);white-space:nowrap;display:flex;align-items:center;gap:6px}
.status i{width:8px;height:8px;border-radius:50%;background:var(--green)}
.status.saving i{background:#C9A227}.status.err{color:var(--err)}.status.err i{background:var(--err)}
.switch{display:flex;align-items:center;gap:8px;font:600 13.5px var(--f);color:var(--ink);cursor:pointer;user-select:none;white-space:nowrap}
.switch input{appearance:none;width:38px;height:22px;border-radius:999px;background:var(--hair);position:relative;cursor:pointer;transition:background .2s;margin:0}
.switch input::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.2);transition:left .2s}
.switch input:checked{background:var(--green)}.switch input:checked::after{left:19px}
.menu{position:relative}
.menu>div{position:absolute;right:0;top:44px;width:250px;background:#fff;border:1px solid var(--hair);border-radius:16px;box-shadow:var(--sh);padding:6px;display:grid}
.menu>div[hidden]{display:none}
.menu>div button{all:unset;cursor:pointer;padding:10px 12px;border-radius:10px;font:500 14.5px var(--f);color:var(--ink)}
.menu>div button:hover{background:var(--soft)}
.menu>div small{display:block;color:var(--muted);font-size:12.5px;font-weight:400}
.menu>div hr{border:0;border-top:1px solid var(--hair);margin:6px 4px}

/* hero */
main{max-width:1180px;margin:0 auto;padding:0 24px 140px}
.hero{padding:72px 0 40px}
.kick{font:600 12.5px var(--f);letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 14px}
.hero h1{font-size:clamp(38px,6vw,72px);line-height:1.04;font-weight:700;letter-spacing:-.035em;margin:0 0 20px;max-width:16ch}
.lede{font-size:19.5px;line-height:1.55;max-width:62ch;margin:0 0 34px}
.toc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;counter-reset:t}
.toc li a{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--hair);border-radius:var(--r);text-decoration:none;color:var(--ink);font-weight:600;line-height:1.3;transition:border-color .15s,background .15s;height:100%}
.toc li a:hover{border-color:var(--green);background:#FBFEFD}
.toc li a span{flex:none;font:700 12px/22px var(--f);color:var(--muted);width:24px}
.toc li a small{display:block;font-weight:400;color:var(--muted);font-size:13.5px;margin-top:4px}
.dark{background:var(--black);color:#E9EBEE;border-radius:24px;padding:28px 30px;margin:26px 0 0;position:relative;overflow:hidden}
.dark::before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,#5CE58A,#fff,#9AA0A6)}
.dark p{margin:0;max-width:80ch}.dark b{color:#fff}

/* folds */
.fold{border-top:1px solid var(--hair);padding:56px 0 30px;position:relative}
.fold.hidden-fold{opacity:.6}
.fhead{display:flex;gap:16px;align-items:flex-start}
.fnum{flex:none;font:700 13px/1 var(--f);color:var(--green);letter-spacing:.06em;padding-top:12px;width:34px}
.ftitle{flex:1;font-size:clamp(28px,3.6vw,42px);line-height:1.12;font-weight:700;letter-spacing:-.03em;margin:0}
.ftools{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;padding-top:6px}
.fbadge{font:600 11.5px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--warn);background:var(--warn-soft);padding:4px 9px;border-radius:999px;align-self:center}
.take{margin:16px 0 0 50px;font-size:clamp(19px,2vw,23px);line-height:1.4;font-weight:500;color:var(--ink);max-width:60ch;letter-spacing:-.01em}
.edit .take:empty::before{content:attr(data-ph);color:var(--muted);font-weight:400}
body:not(.edit) .take:empty{display:none}
.fbody{margin-left:50px}
.blk{margin-top:26px}
.blkh{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.blkh h3{margin:0;font:600 12px var(--f);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.blkh .tog{all:unset;cursor:pointer;font:500 13px var(--f);color:var(--green)}
.blkh .meta{margin-left:auto;font-size:12.5px;color:var(--muted)}
.edit .blkh h3[contenteditable=true]{padding:3px 6px;margin-left:-6px;min-width:12ch}
.edit .blkh h3:empty::before{content:attr(data-ph);color:#B8BCC3;letter-spacing:.08em}
body:not(.edit) .blkh:has(h3:empty){display:none}
.notes{border-left:3px solid var(--g1);padding:6px 0 6px 20px}
.notes.empty{display:none}
.edit .notes.empty{display:block}
.rich{max-width:none}
.rich>*:first-child{margin-top:0}
.rich p,.rich ul,.rich ol,.rich blockquote,.rich h3,.rich h4{max-width:76ch}
.rich h3{font-size:22px;line-height:1.25;letter-spacing:-.02em;margin:30px 0 10px}
.rich h4{font-size:17px;margin:22px 0 6px}
.rich p{margin:0 0 14px}
.rich ul,.rich ol{padding-left:22px;margin:0 0 14px}.rich li{margin-bottom:6px}
.rich blockquote{margin:0 0 14px;padding-left:16px;border-left:2px solid var(--hair);color:var(--muted)}
.rich table{border-collapse:collapse;width:100%;font-size:15px;margin:6px 0 20px}
.rich th{font:600 12px var(--f);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--ink);background:var(--soft)}
.rich td{padding:10px 12px;border-bottom:1px solid var(--hair2);vertical-align:top}
.rich .tw{overflow-x:auto}
.rich.clip{max-height:720px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 75%,transparent);mask-image:linear-gradient(#000 75%,transparent)}
.resblk .more{margin-top:10px}
.empty-note{color:var(--muted)}
/* research building blocks */
.rich ul.kd{list-style:none;padding:0;max-width:none}
.rich ul.kd>li{padding:11px 0;border-bottom:1px solid var(--hair2);margin:0;display:grid;gap:5px;grid-template-columns:minmax(0,1fr)}
.rich ul.kd>li:last-child{border-bottom:0}
.rich ul.kd .t{max-width:78ch;color:var(--ink)}
.rich .srcs{display:flex;flex-wrap:wrap;gap:5px;font-size:12px}
.rich .srcs a,.rich .srcs span{padding:2px 8px;border-radius:999px;border:1px solid var(--hair);color:var(--muted);text-decoration:none;line-height:1.5}
.rich .srcs a:hover{border-color:var(--green);color:var(--ink)}
.rich .srcs .loc{color:var(--forest);background:var(--green-soft);border-color:var(--green-soft)}
.rich .srcs .calc{border-style:dashed}
.rich .card{border:1px solid var(--hair);border-radius:var(--r);padding:20px 22px;margin:0 0 14px;box-shadow:var(--sh);background:#fff}
.rich .card>h3:first-child,.rich .card>h4:first-child{margin-top:0}
.rich .cardgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin:0 0 14px}
.rich .cardgrid .card{margin:0}
.rich .what{font-size:18px;color:var(--ink);font-weight:500}
.rich .hrs{display:inline-block;font:600 12.5px var(--f);color:var(--forest);background:var(--green-soft);border-radius:999px;padding:3px 10px;margin-left:6px;vertical-align:middle}
.rich .tag{display:inline-block;font:600 11px var(--f);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--hair);border-radius:999px;padding:3px 9px;margin-left:8px;vertical-align:middle}
.rich .tag.new{color:var(--g2);border-color:#D9D5F0}
.rich .lbl{font:600 11.5px var(--f);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px}
.rich .tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:0 0 18px}
.rich .tile{border-radius:var(--r);padding:20px;color:#E6E8F0;display:grid;gap:6px}
.rich .tile b{font-size:32px;line-height:1.05;color:#fff;letter-spacing:-.03em}
.rich .tile.n{background:var(--navy)}.rich .tile.g{background:var(--forest)}.rich .tile.i{background:var(--indigo)}.rich .tile.k{background:var(--black)}
.rich .tile .srcs a,.rich .tile .srcs span{color:#C9CDD8;border-color:rgba(255,255,255,.25);background:transparent}
.rich .steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:0 0 18px}
.rich .steps>div{border-top:3px solid var(--g1);padding-top:12px}
.rich .steps>div:nth-child(2){border-color:#3E8079}.rich .steps>div:nth-child(3){border-color:#45618A}.rich .steps>div:nth-child(4){border-color:var(--g2)}
.rich .steps small{display:block;font:600 12px var(--f);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.rich .steps b{display:block;font-size:18px;margin:4px 0}
.rich .note{font-size:14.5px;color:var(--muted)}
.rich dl{margin:0 0 8px;font-size:14.5px}.rich dl div{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:5px 0;border-bottom:1px solid var(--hair2)}.rich dt{color:var(--muted)}.rich dd{margin:0;color:var(--ink)}

/* images */
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.gi{margin:0;border:1px solid var(--hair);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.gi button.open{all:unset;cursor:zoom-in;display:block;aspect-ratio:4/3;background:var(--soft) center top/cover no-repeat}
.gi figcaption{padding:8px 10px;font-size:13.5px;line-height:1.35;color:var(--body);min-height:20px}
.edit .gi figcaption:empty::before{content:attr(data-ph);color:var(--muted)}
body:not(.edit) .gi figcaption:empty{display:none}
.gi .gtools{display:none;gap:4px;padding:0 8px 8px}
.edit .gi .gtools{display:flex}
.gtools button{all:unset;cursor:pointer;font:600 12px var(--f);color:var(--muted);border:1px solid var(--hair);border-radius:8px;padding:3px 8px}
.gtools button:hover{color:var(--ink);border-color:var(--ink)}.gtools button.del:hover{color:var(--err);border-color:var(--err)}
.drop{display:none;border:1.5px dashed var(--hair);border-radius:14px;padding:18px;text-align:center;color:var(--muted);font-size:14.5px;cursor:pointer;transition:border-color .15s,background .15s;align-items:center;justify-content:center;min-height:120px}
.edit .drop{display:flex}
.drop:hover,.drop.over{border-color:var(--green);background:var(--green-soft);color:var(--forest)}
.upl{font-size:13px;color:var(--muted);margin-top:6px}

/* edit mode */
.edit [contenteditable="true"]{outline:none;border-radius:10px;transition:box-shadow .15s,background .15s}
.edit [contenteditable="true"]:hover{box-shadow:0 0 0 1px var(--hair)}
.edit [contenteditable="true"]:focus{box-shadow:0 0 0 2px var(--green);background:#FCFEFD}
.edit .ftitle[contenteditable="true"],.edit .take[contenteditable="true"]{padding:2px 6px;margin-left:-6px}
.edit .take{margin-left:44px}
.edit .rich[contenteditable="true"]{padding:10px 12px;margin-left:-12px;min-height:60px}
.edit .notes .rich:empty::before{content:"Write your notes here. Formatting bar at the bottom of the screen.";color:var(--muted)}
#tb{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:50;display:none;gap:2px;background:var(--black);border-radius:14px;padding:5px;box-shadow:0 12px 40px -10px rgba(0,0,0,.45)}
.edit #tb{display:flex}
#tb button{all:unset;flex:none;cursor:pointer;color:#E9EBEE;font:600 13px var(--f);padding:7px 10px;border-radius:9px;white-space:nowrap}
#tb button b,#tb button i,#tb button u{color:inherit}#tb button:hover{background:#222}#tb span{width:1px;background:#333;margin:4px 3px}
.addfold{display:none;margin:40px 0 0 50px;gap:10px;align-items:center;flex-wrap:wrap}
.edit .addfold{display:flex}
.addfold .btn.line{background:#fff}
.addfold input{height:42px;border:1px solid var(--hair);border-radius:999px;padding:0 16px;font:15px var(--f);min-width:260px}
.addfold input:focus{outline:none;border-color:var(--green)}

/* banners, drawers, lightbox, toast */
.banner{margin:14px 0 0 50px;padding:12px 16px;border-radius:12px;background:var(--warn-soft);color:#7A3E06;font-size:14.5px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.banner .btn{height:30px;font-size:13px;padding:0 12px}
#drawer{position:fixed;inset:0;z-index:60;display:none}
#drawer.on{display:block}
#drawer .scrim{position:absolute;inset:0;background:rgba(11,11,15,.35)}
#drawer .panel{position:absolute;right:0;top:0;bottom:0;width:min(520px,100%);background:#fff;box-shadow:-20px 0 60px -20px rgba(0,0,0,.3);padding:26px;overflow-y:auto}
#drawer h2{margin:0 0 6px;font-size:24px}#drawer p{color:var(--muted);font-size:14.5px}
#drawer .row{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--hair2);font-size:14.5px}
#drawer .row div{flex:1}#drawer .row small{display:block;color:var(--muted)}
#drawer .close{position:absolute;top:18px;right:18px}
#lb{position:fixed;inset:0;z-index:70;background:rgba(8,9,12,.94);display:none;flex-direction:column}
#lb.on{display:flex}
#lb .lbbar{display:flex;align-items:center;gap:10px;padding:12px 18px;color:#fff;font-weight:600}
#lb .lbbar span{flex:1}
#lb .lbbar button{all:unset;cursor:pointer;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:6px 14px;font-size:13.5px}
#lb .lbimg{flex:1;overflow:auto;text-align:center;padding:0 10px 20px}
#lb img{max-width:min(100%,1400px);height:auto}
#toast{position:fixed;left:50%;top:80px;transform:translateX(-50%);z-index:80;background:var(--black);color:#fff;padding:10px 18px;border-radius:999px;font-size:14px;display:none;box-shadow:var(--sh)}
#toast.on{display:block}#toast.err{background:var(--err)}

/* page background: the Silvengate cluster field and cursor light */
#spot,.pfield{position:fixed;inset:0;z-index:0;pointer-events:none;display:none}
#spot{background:radial-gradient(600px 600px at var(--mx,50%) var(--my,30%),rgba(15,156,121,.10) 0%,rgba(74,63,140,.06) 40%,transparent 71%)}
.pfield{overflow:hidden}
body.bgon #spot,body.bgon .pfield{display:block}
main{position:relative;z-index:1}
.bgf i{position:absolute;left:var(--x);top:var(--y);width:var(--s,7px);height:var(--s,7px);margin:-3px 0 0 -3px;border-radius:50%;background:#2F9C6B;opacity:var(--o,.32);animation:fGather var(--d) cubic-bezier(.45,.05,.55,.95) var(--t) infinite alternate;will-change:transform}
.bgf i.v{background:#4A3F8C}
.th-dark .bgf i{background:#5CE58A}.th-dark .bgf i.v{background:#A29AF5}
@keyframes fGather{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--dx),var(--dy),0)}}

/* editable title on the page */
.edit #cover [data-c]{outline:none}
.edit #cover [data-c]:empty::before{content:attr(data-ph);color:var(--muted);-webkit-text-fill-color:var(--muted)}
.edit #cover h1 [data-c]{display:inline-block;min-width:6ch}
body:not(.edit) #cover [data-c]:empty{display:none}
.hacts{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 34px}

/* present mode */
#present{position:fixed;inset:0;z-index:65;background:#fff;display:none;overflow:hidden}
#present.on{display:block}
#present .pstage{position:absolute;inset:0}
#present .pstage.persp{perspective:1800px}
#present .slide{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;background:#fff;backface-visibility:hidden;-webkit-backface-visibility:hidden}
#present .slide.th-dark{background:#060707;color:#B9B9B4}
.ts .sfield,.ts .sfx,#present .sfield{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ts .sfield,#present .sfield{z-index:0}.ts .sfx{z-index:1}
.ts .sfx canvas{position:absolute;inset:0}
#present .sin{position:relative;z-index:2;padding:96px clamp(24px,7vw,120px) 120px}
#present .sin .fold{border-top:0;padding-top:0}
#present .slide .ftitle{font-size:clamp(34px,5vw,60px)}
#present .slide .take{margin-left:0;font-size:clamp(21px,2.4vw,28px)}
#present .slide .fbody{margin-left:0}
#present .pbar{position:absolute;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;gap:14px;padding:16px 28px;pointer-events:none}
#present .pbar>*{pointer-events:auto}
#present .pbar::before{content:"";position:absolute;inset:0 0 -26px;z-index:-1;opacity:0;transition:opacity .3s;background:linear-gradient(#fff 55%,rgba(255,255,255,0))}
#present.dk .pbar::before{background:linear-gradient(#060707 55%,rgba(6,7,7,0))}
#present.scrolled .pbar::before{opacity:1}
#present .pbar .logo{height:20px;transition:filter .4s}
#present .pbar .pc{margin-left:auto;font:600 13.5px var(--f);color:var(--muted)}
#present .pnav{position:absolute;bottom:22px;right:28px;z-index:30;display:flex;gap:8px}
#present .dots{position:absolute;bottom:34px;left:28px;z-index:30;display:flex;gap:6px}
#present .dots i{width:7px;height:7px;border-radius:50%;background:var(--hair);transition:background .3s,width .3s}#present .dots i.on{background:var(--green);width:22px;border-radius:4px}
#present.nonums .pc,#present.nonums .dots{display:none}
#present .pspot{position:absolute;inset:0;z-index:25;pointer-events:none;display:none;background:radial-gradient(600px 600px at var(--mx,50%) var(--my,30%),rgba(15,156,121,.10) 0%,rgba(74,63,140,.06) 40%,transparent 71%)}
#present.bgon .pspot{display:block}
#present.dk .pspot{background:radial-gradient(600px 600px at var(--mx,50%) var(--my,30%),rgba(92,229,138,.10) 0%,rgba(162,154,245,.06) 40%,transparent 71%)}
#present.dk .pbar .logo{filter:brightness(0) invert(1)}
#present.dk .pbar .pc{color:rgba(255,255,255,.55)}
#present.dk .btn.line{color:#fff;border-color:rgba(255,255,255,.25)}#present.dk .btn.line:hover{border-color:#5CE58A;color:#5CE58A}
#present.dk .pnav .btn:not(.line){background:#FDFDFC;color:#0A0A0A}#present.dk .pnav .btn:not(.line):hover{background:#0F9C79;color:#fff}
#present.dk .dots i{background:rgba(255,255,255,.18)}#present.dk .dots i.on{background:#5CE58A}
#present .btn:disabled{opacity:.35;pointer-events:none}

/* title slide */
#present .ts{display:grid;place-items:center;text-align:center;overflow:hidden}
.ts .cv{position:relative;z-index:2;max-width:min(1100px,88vw);padding:40px 24px}
#present .ts.e-constellation{place-items:end center}
.ts .cv.low{padding-bottom:7vh}
.ts .cv.glass{background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(26px) saturate(1.4);backdrop-filter:blur(26px) saturate(1.4);border:1px solid rgba(255,255,255,.75);border-radius:32px;box-shadow:0 40px 90px -40px rgba(20,30,40,.35);padding:56px clamp(24px,5vw,76px)}
.ts .ckick{font:700 12.5px var(--f);letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin:0 0 22px}
.ts.th-dark .ckick{color:#5CE58A}
.ts .cband{display:none;width:120px;height:3px;border-radius:3px;margin:0 auto 28px;background:linear-gradient(90deg,#5CE58A,#fff,#9A9A96);transform-origin:left}
.ts.th-dark .cband{display:block}
.ts .ctitle{position:relative;font-size:clamp(42px,7.2vw,110px);line-height:1.03;letter-spacing:-.045em;font-weight:800;margin:0;text-wrap:balance;color:var(--ink)}
.ts .ctitle .grad{padding:.1em .06em;margin:-.1em -.06em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ts.th-dark .ctitle .grad{background:linear-gradient(92deg,#5CE58A 0%,#FFFFFF 52%,#9A9A96 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ts .ctitle .wd{display:inline-block;white-space:nowrap}
.ts .ctitle .sl{display:inline-block;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding:.08em 0;margin:-.08em 0}
.ts.e-type .ctitle{perspective:700px}
.ts .ctitle .shine{position:absolute;top:-8%;bottom:-8%;left:0;width:34%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.85),transparent);pointer-events:none}
.ts .clede{font-size:clamp(17px,1.7vw,22px);line-height:1.55;color:var(--body);max-width:60ch;margin:28px auto 0}
.ts.th-dark .clede{color:#B9B9B4}
.ts .chint{margin:46px 0 0;font:600 12px var(--f);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
#present .slide.ready .chint{animation:hint 2.4s ease-in-out infinite}
.ts.th-dark .chint{color:#7A7A76}
@keyframes hint{0%,100%{opacity:.45}50%{opacity:1}}
.ts.e-constellation.th-dark{background:radial-gradient(120% 100% at 50% 20%,#14202B 0%,#05070A 70%)}
.ts.e-depth.th-dark{background:radial-gradient(120% 100% at 50% 45%,#12221C 0%,#060707 70%)}
.ts.e-streak.th-dark{background:#050607}
/* dusk */
.ts .dsky{position:absolute;inset:0;opacity:0;background:linear-gradient(180deg,rgba(6,10,9,.88) 0%,rgba(10,22,17,.72) 44%,rgba(13,42,32,.4) 74%,rgba(15,156,121,.1) 100%)}
.ts .dhor{position:absolute;left:0;right:0;bottom:0;height:44vh;opacity:0;background:linear-gradient(180deg,transparent 0%,rgba(15,156,121,.16) 70%,rgba(92,229,138,.12) 100%)}
/* aurora */
.ts .abw{position:absolute;inset:-10%}
.ts .ab{position:absolute;border-radius:50%;filter:blur(60px);opacity:.75;animation:abDrift 18s ease-in-out infinite alternate}
.ts .a1{width:55vmax;height:55vmax;left:-10%;top:-18%;background:radial-gradient(circle,#2F9C6B 0,transparent 65%)}
.ts .a2{width:50vmax;height:50vmax;right:-12%;top:2%;background:radial-gradient(circle,#4A3F8C 0,transparent 65%);animation-duration:22s;animation-delay:-6s}
.ts .a3{width:42vmax;height:42vmax;left:22%;bottom:-28%;background:radial-gradient(circle,#5CE58A 0,transparent 65%);animation-duration:26s;animation-delay:-11s;opacity:.55}
.ts .a4{width:30vmax;height:30vmax;right:18%;bottom:-12%;background:radial-gradient(circle,#A29AF5 0,transparent 65%);animation-duration:20s;animation-delay:-3s;opacity:.6}
@keyframes abDrift{0%{transform:translate(0,0) scale(1)}50%{transform:translate(6vw,4vh) scale(1.12)}100%{transform:translate(-4vw,-3vh) scale(.94)}}
/* light streak */
.ts .beam{position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:linear-gradient(90deg,transparent 0%,#5CE58A 30%,#fff 60%,#9A9A96 85%,transparent 100%);box-shadow:0 0 18px 2px rgba(92,229,138,.55);transform-origin:left;transform:scaleX(0)}
.ts .flare{position:absolute;top:50%;width:180px;height:180px;margin:-90px 0 0 -90px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0,rgba(92,229,138,.45) 18%,transparent 60%);opacity:0}
/* depth rings */
.ts .rg{position:absolute;left:50%;top:50%;width:70vmin;height:70vmin;border-radius:50%;border:1.5px solid rgba(92,229,138,.6);opacity:0;transform:translate(-50%,-50%) scale(.04)}
.ts .rg.r1{border-color:rgba(162,154,245,.55);width:52vmin;height:52vmin}.ts .rg.r2{border-color:rgba(255,255,255,.3);width:88vmin;height:88vmin}
.ts .rg.pulse{animation:rgPulse 8s ease-in-out infinite}
.ts .rg.pulse:nth-child(3n+1){animation-duration:10s}.ts .rg.pulse:nth-child(3n+2){animation-duration:12s}
@keyframes rgPulse{0%,100%{transform:translate(-50%,-50%) scale(.9);opacity:.14}50%{transform:translate(-50%,-50%) scale(1.25);opacity:.3}}
#present .ts.pre .cv{opacity:0}
.ts .cross{position:absolute;left:50%;top:9%;width:clamp(70px,14vh,140px);transform:translateX(-50%);filter:drop-shadow(0 0 18px rgba(92,229,138,.35))}
.ts.e-constellation .cv{padding-bottom:7vh}
.sband.ts.e-constellation{place-items:end center}
/* section banner on the page: the same look as the section slide */
.fold.sect{border-top:0;padding:46px 0 8px}
.sband{position:relative;overflow:hidden;border-radius:28px;min-height:min(62vh,520px);display:grid;place-items:center;text-align:center;background:#fff;border:1px solid var(--hair);isolation:isolate}
.sband.th-dark{background:#060707;border-color:#060707;color:#B9B9B4}
.sband.e-constellation.th-dark{background:radial-gradient(120% 100% at 50% 20%,#14202B 0%,#05070A 70%)}
.sband.e-depth.th-dark{background:radial-gradient(120% 100% at 50% 45%,#12221C 0%,#060707 70%)}
.sband .cv{padding:56px clamp(20px,5vw,64px)}
.sband .ctitle{font-size:clamp(36px,5.6vw,80px);line-height:1.04;letter-spacing:-.045em;font-weight:800;margin:0;flex:none;background:linear-gradient(100deg,#2F9C6B,#4A3F8C);-webkit-background-clip:text;background-clip:text;color:transparent;caret-color:var(--ink);padding:.06em .04em}
.sband.th-dark .ctitle{background-image:linear-gradient(92deg,#5CE58A 0%,#FFFFFF 52%,#9A9A96 100%);caret-color:#fff}
.sband .take,.edit .sband .take{margin:22px auto 0;font-size:clamp(17px,1.6vw,21px);font-weight:400;color:var(--body);max-width:60ch}
.sband.th-dark .take{color:#B9B9B4}
.edit .sband .ftitle[contenteditable=true],.edit .sband .take[contenteditable=true]{margin-left:auto;margin-right:auto}
.edit .sband.th-dark [contenteditable=true]:focus{background:rgba(255,255,255,.04)}
.sband.th-dark .take:empty::before{color:#6E736F}
.stools{margin-top:12px}
body:not(.edit) .ftools>:not(.fbadge){display:none}
body:not(.edit) .stools:not(:has(.fbadge)){display:none}
.fsel{height:34px;border:1px solid var(--hair);border-radius:999px;padding:0 12px;font:600 13px var(--f);color:var(--ink);background:#fff;cursor:pointer;max-width:220px}
.fsel:hover{border-color:var(--ink)}
.chips a.sec{color:var(--forest);font-weight:700;letter-spacing:.02em}
.chips a.sec::before{content:"§ ";color:var(--green)}
.toc li.tsec{grid-column:1/-1}
.toc li.tsec a{background:var(--black);color:#fff;border-color:var(--black)}
.toc li.tsec a span{color:#5CE58A}.toc li.tsec a small{color:#A7ABA8}
.toc li.tsec a:hover{background:#0C1A14;border-color:#0F9C79}
/* focus-in, as on silvengate.com: opacity and blur only */
.fx-on .fi{opacity:0;filter:blur(calc(28px * var(--fb,1)));transition:opacity calc(1.6s * var(--fk,1)) ease-out,filter calc(2.1s * var(--fk,1)) cubic-bezier(.2,.7,.2,1)}
.fx-on .fi.in{opacity:1;filter:none}
.fx-on .tiles>.fi,.fx-on .cardgrid>.fi,.fx-on .gal>.fi,.fx-on .steps>.fi,.fx-on ul.kd>.fi{--fb:.72}
body.edit #folds .fi,body.edit #hero .fi{opacity:1;filter:none;transition:none}
@media print{.fi{opacity:1!important;filter:none!important}}

/* transitions */
#present .wipe{position:absolute;inset:0;z-index:20;background:linear-gradient(90deg,#5CE58A 0%,#FFFFFF 1.4%,#9A9A96 2.8%,#0C1A14 5%,#060707 30%,#060707 70%,#0C1A14 95%,#9A9A96 97.2%,#FFFFFF 98.6%,#5CE58A 100%)}
#present .wipe i{position:absolute;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%);background:linear-gradient(#5CE58A,#5CE58A) center/100% 30% no-repeat,linear-gradient(#5CE58A,#5CE58A) center/30% 100% no-repeat;filter:drop-shadow(0 0 24px rgba(92,229,138,.6))}
#present .inkl{position:absolute;inset:0;background:radial-gradient(120% 120% at 50% 50%,#0F9C79 0%,#2F9C6B 35%,#4A3F8C 100%)}
#present .pcv{position:absolute;inset:0;z-index:20;pointer-events:none}

/* settings drawer */
#drawer .dh{font-size:16px;margin:28px 0 2px;letter-spacing:-.01em}
#drawer .dh+p{margin:0 0 10px}
.opts{display:grid;gap:8px}
.opt{display:flex;gap:12px;align-items:center;border:1px solid var(--hair);border-radius:14px;padding:12px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.opt:hover{border-color:#CDD2D7}
.opt.on{border-color:var(--green);background:#FBFEFD;box-shadow:0 0 0 3px var(--green-soft)}
.opt input[type=radio]{accent-color:var(--green);margin:0}
.opt>span:not(.switch){flex:1;min-width:0}.opt b{display:block;font-size:14.5px}.opt small{display:block;color:var(--muted);font-size:13px;line-height:1.4}
.seg{display:inline-flex;border:1px solid var(--hair);border-radius:999px;padding:3px}
.seg button{all:unset;cursor:pointer;padding:7px 18px;border-radius:999px;font:600 13.5px var(--f);color:var(--ink)}
.seg button.on{background:var(--black);color:#fff}
#drawer .note{font-size:13px;margin-top:18px}

@media(max-width:900px){.sband .ctitle{font-size:clamp(40px,11vw,64px)}.sband{min-height:420px;border-radius:22px}#present .sin{padding:80px 18px 110px}#present .pbar{padding:14px 16px}#present .pnav{right:14px;bottom:14px}#present .dots{left:16px;bottom:72px}.ts .cv.glass{padding:36px 22px}:root{--bar:58px}.barin{padding:0 14px;gap:10px}.chips{display:none}.status span{display:none}main{padding:0 16px 120px}.hero{padding:44px 0 26px}.take,.fbody,.banner,.addfold{margin-left:0}.edit .take{margin-left:-6px}.fnum{display:none}.fhead{flex-wrap:wrap}.ftools{width:100%;justify-content:flex-start}#tb{left:8px;right:8px;transform:none;overflow-x:auto}.rich .cardgrid{grid-template-columns:minmax(0,1fr)}.rich dl div{grid-template-columns:76px 1fr}}
@media(max-width:520px){.logo{height:18px}.switch b{display:none}}
@media print{#spot,.pfield,.hacts,#bar,#tb,.drop,.ftools,.addfold,.more{display:none!important}.rich.clip{max-height:none;-webkit-mask-image:none;mask-image:none}.fold{break-inside:auto}.gi{break-inside:avoid}}
