@import url('../assets/fonts/oracle-fonts.css');
/* Oracle docs. Loaded after ../assets/site.css, which supplies the tokens, the site header and the
   footer; this file adds the reading layout (sidebar, article, contents, search). The system is in
   packages/oracle/docs/site-design.md. */
:root{--bar:56px;--side:256px;--toc:200px;--content:740px}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + var(--bar) + 24px);max-width:100%;overflow-x:clip}
body{max-width:100%;overflow-x:clip}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.skip-link{position:fixed;z-index:120;top:10px;left:10px;padding:10px 14px;border-radius:var(--radius);background:var(--ink);color:var(--plane);font:500 15px/1 var(--sans);transform:translateY(-160%);transition:transform .2s var(--ease)}
.skip-link:focus-visible{transform:translateY(0)}

/* Docs bar: search and, on small screens, the docs menu, under the site header */
.docs-bar{position:sticky;top:var(--header);z-index:45;height:var(--bar);background:rgba(7,9,13,.94);border-bottom:1px solid var(--rule)}
.docs-bar .wrap{height:100%;display:flex;align-items:center;gap:var(--s4)}
.docs-bar-title{font:400 24px/1 var(--display);color:var(--ink);margin-right:auto}
.docs-search-button{width:min(400px,60vw);height:40px;border:1px solid var(--rule-strong);background:var(--plane-2);border-radius:var(--radius);color:var(--text-2);display:flex;align-items:center;gap:10px;padding:0 12px;text-align:left;font-size:15px;transition:border-color var(--fast),color var(--fast)}
.docs-search-button:hover{border-color:var(--blue);color:var(--ink)}
.search-icon{font-size:16px;color:var(--blue-ink)}
.docs-search-button span:nth-child(2){flex:1}
.docs-search-button kbd{font:500 13px/1 var(--mono);border:1px solid var(--rule-strong);border-radius:6px;padding:5px 7px;color:var(--text)}
.mobile-menu{display:none}

/* Reading layout on the site measure */
.docs-shell{display:grid;grid-template-columns:var(--side) minmax(0,var(--content)) var(--toc);justify-content:space-between;gap:var(--s7);width:100%;max-width:calc(var(--max) + 2 * var(--gutter));margin:0 auto;padding:0 var(--gutter) var(--s9)}
.docs-sidebar{position:sticky;top:calc(var(--header) + var(--bar));align-self:start;max-height:calc(100dvh - var(--header) - var(--bar));overflow:auto;padding:var(--s7) var(--s4) var(--s7) 0;scrollbar-width:thin;scrollbar-color:var(--rule-strong) transparent}
.side-group{margin-bottom:var(--s6)}
.side-title{margin:0 0 var(--s2);font:500 15px/1.3 var(--sans);color:var(--text-2)}
.side-link{display:block;padding:7px 0 7px var(--s3);border-left:1px solid var(--rule);color:var(--text);font-size:16px;line-height:1.3;transition:color var(--fast),border-color var(--fast)}
.side-link:hover{color:var(--ink);border-left-color:var(--rule-strong)}
.side-link.is-active{color:var(--blue-ink);border-left:2px solid var(--blue);padding-left:11px}
.side-source{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--rule-strong);color:var(--text-2);font-size:15px;line-height:1.5}
.side-source b{display:block;color:var(--ink);font-weight:500;margin-bottom:4px}

.docs-main{min-width:0;padding-top:var(--s8)}
.docs-article{padding-bottom:var(--s8)}
.docs-kicker{font:500 16px/1 var(--sans);color:var(--blue-ink);margin:0 0 var(--s4)}
.docs-article h1{font-size:clamp(44px,5.4vw,72px);line-height:1;letter-spacing:-.025em;margin:0 0 var(--s5);max-width:14ch}
.docs-lede{font-size:var(--t-lead);line-height:1.55;color:var(--text);max-width:640px;margin:0 0 var(--s5)}
.docs-article .docs-glance{list-style:none;margin:0 0 var(--s5);padding:0;max-width:640px;border-top:1px solid var(--rule-strong)}
.docs-article .docs-glance li{position:relative;padding:var(--s3) 0 var(--s3) var(--s5);border-bottom:1px solid var(--rule);color:var(--ink);font-size:16px;line-height:1.5}
.docs-article .docs-glance li::before{content:"";position:absolute;left:0;top:calc(var(--s3) + .75em);width:12px;height:1px;background:var(--text-2)}
.docs-meta{display:flex;gap:var(--s2);flex-wrap:wrap;margin:0 0 var(--s7)}
.meta-chip{font:400 14px/1 var(--mono);color:var(--text);border:1px solid var(--rule);border-radius:var(--radius);padding:7px 10px}
.docs-article section{padding-top:var(--s6);margin-top:var(--s6);border-top:1px solid var(--rule)}
.docs-article h2{font-size:clamp(32px,3vw,42px);line-height:1.08;margin:0 0 var(--s4)}
.docs-article h3{font:400 24px/1.2 var(--display);margin:var(--s6) 0 var(--s2);color:var(--ink)}
.docs-article p{margin:0 0 var(--s4);color:var(--text)}
.docs-article strong{color:var(--ink);font-weight:500}
.docs-article a:not(.card):not(.pager-link){color:var(--blue-ink);text-decoration:underline;text-decoration-color:rgba(124,196,255,.4);text-underline-offset:3px}
.docs-article a:not(.card):not(.pager-link):hover{color:var(--ink)}
.docs-article ul,.docs-article ol{margin:var(--s3) 0 var(--s5);padding-left:22px;color:var(--text);list-style:disc}
.docs-article ol{list-style:decimal}
.docs-article li{margin:6px 0;padding-left:4px}
.docs-article li::marker{color:var(--text-2)}
.docs-article code{font:400 max(13px,.86em)/1.5 var(--mono);color:var(--ink);background:var(--plane-3);border:1px solid var(--rule);border-radius:var(--radius);padding:1px 6px}
.code-block{position:relative;margin:var(--s5) 0 var(--s6);border:1px solid var(--rule-strong);border-radius:var(--radius);overflow:hidden;background:var(--plane-2)}
.code-label{min-height:44px;display:flex;align-items:center;padding:0 var(--s4);border-bottom:1px solid var(--rule);font:400 15px/1 var(--sans);color:var(--text-2)}
.docs-article pre,.search-panel pre{margin:0;padding:var(--s4);overflow:auto;color:var(--ink);font:400 var(--t-code)/1.7 var(--mono);tab-size:2}
.docs-article pre code{font:inherit;color:inherit;background:none;border:0;padding:0}
.copy-button{position:absolute;top:6px;right:8px;height:32px;border:1px solid var(--rule-strong);background:var(--plane-2);border-radius:var(--radius);color:var(--text);font:400 14px/1 var(--sans);padding:0 var(--s3);cursor:pointer;transition:border-color var(--fast),color var(--fast)}
.copy-button:hover{color:var(--blue-ink);border-color:var(--blue)}

/* Callouts: one rule, one plane step; blue marks the safe default, ink marks a warning */
.callout{border:1px solid var(--rule);border-left:2px solid var(--blue);background:var(--plane-2);padding:var(--s4) var(--s5);margin:var(--s5) 0;border-radius:var(--radius)}
.callout.warn{border-left-color:var(--ink)}
.callout-title{display:block;margin-bottom:var(--s1);font:500 16px/1.3 var(--sans);color:var(--ink)}
.callout p:last-child{margin-bottom:0}

.quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--s6);margin:var(--s4) 0 var(--s6);border-top:1px solid var(--rule-strong)}
.card{display:block;padding:var(--s4) 0;border-bottom:1px solid var(--rule);transition:border-color var(--fast)}
.card:hover{border-bottom-color:var(--blue)}
.card small{display:block;font:400 14.5px/1.3 var(--sans);color:var(--text-2);margin-bottom:var(--s1)}
.card b{display:block;font:400 24px/1.2 var(--display);color:var(--ink);margin-bottom:var(--s1);transition:color var(--fast)}
.card:hover b{color:var(--blue-ink)}
.card span{display:block;color:var(--text);font-size:15.5px;line-height:1.5}

/* Steps: order is shown by the rule and position, not by numerals */
.steps{margin:var(--s5) 0}
.step{position:relative;padding:0 0 var(--s5) var(--s6);border-left:1px solid var(--rule-strong);margin-left:6px}
.step:last-child{border-left-color:transparent}
.step::before{content:"";position:absolute;left:-6px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--plane);border:2px solid var(--blue)}
.step h3{margin:0 0 var(--s1)}
.step p{margin:0}

.docs-table-wrap{overflow:auto;margin:var(--s5) 0 var(--s6);border-top:1px solid var(--rule-strong)}
.docs-article table{border-collapse:collapse;width:100%;min-width:560px;font-size:15.5px}
.docs-article th,.docs-article td{padding:var(--s3) var(--s4) var(--s3) 0;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
.docs-article th{font:500 15px/1.3 var(--sans);color:var(--text-2)}
.docs-article td{color:var(--text)}
.docs-article td:first-child{color:var(--ink);font-family:var(--mono);font-size:14px}

.plane-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin:var(--s5) 0}
.plane{padding:var(--s4) 0 0;border-top:1px solid var(--rule-strong)}
.plane b{display:block;color:var(--ink);font:400 22px/1.2 var(--display);margin-bottom:var(--s2)}
.plane span{display:block;color:var(--text);font-size:15.5px;line-height:1.55}

.pager{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6);border-top:1px solid var(--rule-strong);padding-top:var(--s5);margin-top:var(--s8)}
.pager-link{display:block;color:var(--ink);font:400 24px/1.2 var(--display);transition:color var(--fast)}
.pager-link:hover{color:var(--blue-ink)}
.pager-link.next{text-align:right;grid-column:2}
.pager-link small{display:block;font:400 15px/1.3 var(--sans);color:var(--text-2);margin-bottom:var(--s1)}

.docs-toc{position:sticky;top:calc(var(--header) + var(--bar) + var(--s7));align-self:start;padding-top:var(--s8)}
.toc-title{font:500 15px/1.3 var(--sans);color:var(--text-2);margin:0 0 var(--s3)}
.toc-link{display:block;padding:5px 0;color:var(--text);font-size:15px;line-height:1.35;transition:color var(--fast)}
.toc-link:hover,.toc-link.is-active{color:var(--blue-ink)}

/* Search */
.search-dialog[hidden]{display:none}
.search-dialog{position:fixed;inset:0;z-index:100;background:rgba(4,6,9,.78);display:grid;place-items:start center;padding-top:min(15vh,130px)}
.search-panel{width:min(680px,calc(100vw - 28px));max-height:min(650px,76vh);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--plane-2);box-shadow:0 35px 120px rgba(0,0,0,.55);overflow:hidden}
.search-field{display:flex;align-items:center;gap:var(--s3);border-bottom:1px solid var(--rule);padding:0 var(--s4)}
.search-field input{width:100%;height:58px;border:0;background:transparent;color:var(--ink);font-size:18px}
.search-field input:focus-visible{outline:none}
.search-field input::placeholder{color:var(--text-2)}
.search-close{border:1px solid var(--rule-strong);background:transparent;color:var(--text);border-radius:var(--radius);padding:6px 9px;font:400 14px/1 var(--sans);cursor:pointer}
.search-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.search-results{padding:var(--s2);overflow:auto;max-height:540px}
.search-result{display:block;padding:var(--s3) var(--s4);border-radius:var(--radius)}
.search-result:hover,.search-result.is-selected{background:var(--plane-3)}
.search-result b{display:block;color:var(--ink);font-weight:500;font-size:16px}
.search-result span{display:block;color:var(--text-2);font-size:14.5px;margin-top:2px}
.search-empty{padding:var(--s6);color:var(--text-2);text-align:center}

@media(max-width:1120px){.docs-shell{grid-template-columns:var(--side) minmax(0,1fr)}
.docs-toc{display:none}}
@media(max-width:800px){
.docs-bar-title{font-size:21px}
.docs-search-button{width:44px;height:44px;padding:0;justify-content:center}
.docs-search-button span:nth-child(2),.docs-search-button kbd{display:none}
.mobile-menu{display:inline-flex;align-items:center;gap:var(--s2);height:44px;padding:0 var(--s3);border:1px solid var(--rule-strong);border-radius:var(--radius);color:var(--ink);font-size:15px}
.docs-shell{display:block;padding-bottom:var(--s8)}
.docs-sidebar{position:fixed;z-index:65;left:0;top:calc(var(--header) + var(--bar));width:min(320px,86vw);height:calc(100dvh - var(--header) - var(--bar));max-height:none;padding:var(--s5) var(--s5) var(--s7);background:var(--plane-2);border-right:1px solid var(--rule-strong);transform:translateX(-104%);transition:transform .3s var(--ease);box-shadow:30px 0 80px rgba(0,0,0,.4)}
body.menu-open .docs-sidebar{transform:none}
.docs-main{padding-top:var(--s7)}
.quick-grid,.plane-grid,.pager{grid-template-columns:1fr}
.pager-link.next{grid-column:1;text-align:left}
.docs-article pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
}
@media(max-width:480px){.docs-article h2{font-size:30px}
.docs-article pre{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.card,.docs-sidebar,.skip-link{transition:none}}
