/* The guide's layout: the sidebar (search and every page), the page itself, and "On this page". Below 1180px the
   "On this page" list goes; below 900px the sidebar becomes a drawer behind the Contents button. Nothing under 18px. */
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.bar-start{display:flex;align-items:center;gap:18px}
.contents-btn{display:none;min-height:46px;padding:0 18px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--fg);font:500 var(--small)/1 var(--font);cursor:pointer}
.docs{display:grid;grid-template-columns:290px minmax(0,1fr) 250px;gap:clamp(32px,4vw,64px);max-width:1560px;margin:0 auto;padding:0 var(--gutter)}

/* Sidebar. */
.side{position:sticky;top:84px;align-self:start;height:calc(100vh - 100px);overflow:auto;padding:28px 6px 40px 0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.find{position:relative;margin-bottom:22px}
.find input{width:100%;min-height:52px;padding:0 18px;border:1px solid var(--line-strong);border-radius:14px;background:var(--panel);color:var(--fg);font:400 var(--small)/1 var(--font);outline:none}
.find input:focus{border-color:var(--fg)}
.find input::placeholder{color:var(--hint)}
.results{position:absolute;left:0;right:0;top:58px;z-index:5;max-height:min(70vh,520px);overflow:auto;border:1px solid var(--line-strong);border-radius:14px;background:#0b0b0d;box-shadow:0 20px 60px rgba(0,0,0,.7)}
.results a{display:grid;gap:2px;padding:12px 16px;text-decoration:none;border-bottom:1px solid var(--line)}
.results a:last-child{border-bottom:0}
.results a:hover,.results a[aria-selected="true"]{background:rgba(255,255,255,.07)}
.results strong{font-weight:500}
.results span{color:var(--hint);font-size:var(--small)}
.results p{padding:14px 16px;color:var(--hint);font-size:var(--small)}
.side-nav{display:grid;gap:4px}
.side-nav ul{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:2px}
.side-nav a{display:block;padding:7px 12px;border-radius:10px;text-decoration:none;color:var(--dim);font-size:var(--small);line-height:1.35}
.side-nav a:hover{color:var(--fg);background:rgba(255,255,255,.05)}
.side-nav a[aria-current="page"]{color:var(--fg);background:rgba(195,180,245,.12)}
.side-group{margin:16px 12px 4px;color:var(--hint);font-size:var(--small)}
.side-sections{margin:2px 0 8px 12px!important;border-left:1px solid var(--line)}
.side-sections a{padding:5px 12px}

/* The page. */
.article{min-width:0;max-width:820px;padding:40px 0 0}
.crumbs{display:flex;gap:10px;color:var(--hint);font-size:var(--small);margin-bottom:22px}
.crumbs a{color:var(--dim);text-decoration:none}
.crumbs a:hover{color:var(--fg)}
.article h1{font-size:clamp(46px,5vw,80px);margin-bottom:22px}
.article > .lede{margin-bottom:12px}
.topic{padding-top:clamp(40px,7vh,72px)}
.topic h2{font-size:clamp(32px,3vw,46px);margin-bottom:20px}
.article h3{margin:30px 0 12px}
.article p{margin:0 0 16px;text-wrap:pretty}
.article ul,.article ol{margin:0 0 18px;padding-left:1.25em;display:grid;gap:8px}
.article li::marker{color:var(--hint)}
.article li > ul,.article li > ol{margin:8px 0 0}
.article a{color:var(--fg);text-decoration-color:var(--lilac-line);text-underline-offset:3px}
.article a:hover{text-decoration-color:var(--fg)}
.article strong{font-weight:500;color:var(--fg)}
.callout{margin:20px 0 22px;padding:16px 20px;border:1px solid var(--line);border-left:3px solid var(--lilac);border-radius:12px;background:var(--panel)}
.callout.note{border-left-color:var(--line-strong)}
.callout p{margin:0}
.table{overflow-x:auto;margin:6px 0 22px;border:1px solid var(--line);border-radius:14px}
.table table{width:100%;border-collapse:collapse;font-size:var(--small);line-height:1.5}
.table th,.table td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--line)}
.table thead th{font-weight:500;color:var(--fg);background:var(--panel)}
.table tr:last-child td{border-bottom:0}
.table .row-group th{color:var(--lilac);font-weight:500;background:transparent}
.question{border-top:1px solid var(--line);padding:4px 0}
.question:last-of-type{border-bottom:1px solid var(--line)}
.question summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;position:relative;font-weight:500}
.question summary::-webkit-details-marker{display:none}
.question summary::after{content:"+";position:absolute;right:6px;top:12px;font-size:26px;color:var(--hint);transition:transform .2s}
.question[open] summary::after{transform:rotate(45deg)}
.question > div{padding:0 0 12px;color:var(--dim)}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:clamp(60px,10vh,100px)}
.pager a{display:grid;gap:4px;padding:18px 22px;border:1px solid var(--line);border-radius:16px;text-decoration:none;font-family:var(--serif);font-size:clamp(22px,1.8vw,28px);line-height:1.2;transition:border-color .2s}
.pager a:hover{border-color:var(--line-strong)}
.pager a span{font-family:var(--font);font-size:var(--small);color:var(--hint)}
.pager .next{text-align:right;grid-column:2}

/* On this page. */
.toc{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;padding:44px 0 40px}
.toc-name{color:var(--hint);font-size:var(--small);margin:0 0 10px}
.toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line);display:grid}
.toc a{display:block;padding:6px 14px;margin-left:-1px;border-left:1px solid transparent;text-decoration:none;color:var(--hint);font-size:var(--small);line-height:1.35}
.toc a:hover{color:var(--fg)}
.toc a.on{color:var(--fg);border-left-color:var(--lilac)}

/* The welcome page. */
.guide-home .docs{grid-template-columns:290px minmax(0,1fr)}
.guide-home .article{max-width:none}
.welcome{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:24px;min-height:min(70vh,640px)}
.welcome-words{display:grid;gap:22px}
.bloom-box{position:relative;height:min(64vh,600px);min-height:360px}
#bloom{display:block;width:100%;height:100%;cursor:crosshair}
.cards-block{padding-top:clamp(48px,8vh,88px)}
.cards-block > h2{margin-bottom:24px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.card{display:grid;gap:8px;align-content:start;padding:22px 24px;border:1px solid var(--line);border-radius:18px;text-decoration:none;transition:border-color .2s,background-color .2s}
.card:hover{border-color:var(--line-strong);background:var(--panel)}
.card h3{margin:0}
.card p{margin:0;color:var(--dim)}
.all{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:36px 40px}
.all-page h3{margin:0 0 10px}
.all-page h3 a{text-decoration:none}
.all-page ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.all-page li a{color:var(--dim);text-decoration:none;font-size:var(--small)}
.all-page li a:hover{color:var(--fg)}
.all-page .label{font-size:var(--small)}

@media (min-width:1181px){.side-sections{display:none}}   /* "On this page" shows them there */
@media (max-width:1180px){
  .docs{grid-template-columns:270px minmax(0,1fr)}
  .toc{display:none}
}
@media (max-width:900px){
  .contents-btn{display:inline-flex;align-items:center}
  .docs,.guide-home .docs{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;inset:76px 0 0 0;z-index:9;height:auto;padding:20px var(--gutter) 40px;background:#000;transform:translateX(-100%);transition:transform .3s var(--ease);visibility:hidden}
  body.side-open .side{transform:none;visibility:visible}
  body.side-open{overflow:hidden}
  .welcome{grid-template-columns:minmax(0,1fr);min-height:0}
  .bloom-box{height:46svh;min-height:300px}
  .pager{grid-template-columns:1fr}
  .pager .next{grid-column:1}
}
@media (max-width:560px){.bar .mark{display:none}}
/* Phones: Contents does the guide's navigating, so the bar keeps only Pricing and Account. */
@media (max-width:430px){.bar .links a[href="/features"]{display:none}}
