/* Generated shared explanation CSS, scoped to the privacy document. */
/* Shared authored help: equivalent controls never inherit a tool's local type scale. */
#dc-root .nutshell-expandable {
  --nutshell-dot-line-start: 8px; --nutshell-dot-up: .4em; --nutshell-dot-down: .7em;
  --nutshell-dot-offset: calc(.5lh - .565em);
  display: inline-block; vertical-align: baseline; max-width: 100%; min-height: 44px;
  position: relative; padding: 8px 0 8px .45em; border-bottom: 0;
  color: var(--ink, #15252b);
  font: 500 17px/1.5 Barlow, sans-serif !important;
  text-decoration: none;
}
/* Only authored inline prose opts out of the standalone 44px target. Limit the
   hook to this trigger or its direct wrapper, never deeper nested help. */
#dc-root :is(.nutshell-expandable.explanation-inline, .explanation-inline > .nutshell-expandable) {
  --nutshell-dot-line-start: 0px; --nutshell-dot-offset: 0px;
  display: inline; vertical-align: baseline; min-height: 0; padding: 0 0 0 .49em;
}
/* Center the original dot pair against the first line's letter ink. Inline
   prose already starts at the glyph box, so it needs no line-box correction.
   Keep the source spread/converge motion around that same fixed center. */
#dc-root :is(.nutshell-ball-up, .nutshell-ball-down) {
  display: inline-block; position: absolute; left: 1px; width: .15em; height: .15em;
  border-radius: 1em; pointer-events: none; transition: top .1s ease-in-out;
}
#dc-root .nutshell-ball-up { top: calc(var(--nutshell-dot-line-start) + var(--nutshell-dot-up) + var(--nutshell-dot-offset)); }
#dc-root .nutshell-ball-down { top: calc(var(--nutshell-dot-line-start) + var(--nutshell-dot-down) + var(--nutshell-dot-offset)); }
#dc-root .nutshell-expandable[mode="closed"]:is(:hover, :focus-visible) {
  --nutshell-dot-up: .2em; --nutshell-dot-down: .9em;
}
#dc-root .nutshell-expandable[mode="open"]:is(:hover, :focus-visible) {
  --nutshell-dot-up: .55em; --nutshell-dot-down: .55em;
}
#dc-root .nutshell-expandable-text {
  font: inherit !important; padding-left: 0;
  text-decoration: underline dotted; text-decoration-thickness: 1px; text-underline-offset: .1em;
}
#dc-root .nutshell-expandable:focus-visible {
  outline: 2px solid var(--ink, #15252b); outline-offset: -2px;
}
#dc-root .nutshell-bubble {
  display: block; max-width: 100%; min-width: 0; overflow-wrap: anywhere;
  color: var(--ink, #15252b) !important; background: var(--paper, #f6f0e2);
  border: 1px solid #827e6f !important; border-radius: 8px; padding: 12px 16px 8px;
  font: 400 17px/1.5 Barlow, sans-serif !important; text-decoration: none !important;
}
#dc-root .nutshell-bubble .nutshell-bubble { right: 0; width: 100%; }
#dc-root .nutshell-bubble-arrow {
  left: clamp(16px, var(--explanation-arrow-x, 33px), calc(100% - 56px)) !important;
  border-left: 20px solid transparent !important; border-right: 20px solid transparent !important;
  border-bottom: 20px solid #827e6f !important;
}
#dc-root .nutshell-bubble-arrow::after {
  border-left: 20px solid transparent !important; border-right: 20px solid transparent !important;
  border-bottom: 20px solid var(--arrow-background, #f6f0e2) !important;
}
#dc-root .nutshell-bubble-overflow-section {
  padding: 0 4px; min-height: 0; font: 400 17px/1.5 Barlow, sans-serif;
}
/* Nutshell wraps the excerpt in a div. Its vendor margins, last-paragraph
   margin and section padding must not stack into an empty close footer. */
#dc-root .nutshell-bubble-overflow-section > div { margin-block: 0; }
#dc-root .nutshell-bubble-overflow-section > div > :first-child { margin-top: 0; }
#dc-root .nutshell-bubble-overflow-section > div > :last-child { margin-bottom: 0; }
/* Keep terminal standalone help targets 44px tall, with spare hit area above
   the text. A separate colon column stays beside the first wrapped line.
   Apply this to every row of a final list so row rhythm stays even. */
#dc-root .nutshell-bubble-overflow-section > div > p:not(.explanation-inline) > .nutshell-expandable:not(.explanation-inline),
#dc-root .nutshell-bubble-overflow-section > div > :is(ul, ol):last-child > li:not(.explanation-inline) > .nutshell-expandable:not(.explanation-inline) {
  --nutshell-dot-line-start: 0px;
  display: inline-grid; grid-template-columns: .34em minmax(0, 1fr); column-gap: .15em;
  align-content: end; align-items: start; padding: calc(44px - 1.5em) 0 0;
}
#dc-root .nutshell-bubble-overflow-section > div > p:not(.explanation-inline) > .nutshell-expandable:not(.explanation-inline) > :is(.nutshell-ball-up, .nutshell-ball-down),
#dc-root .nutshell-bubble-overflow-section > div > :is(ul, ol):last-child > li:not(.explanation-inline) > .nutshell-expandable:not(.explanation-inline) > :is(.nutshell-ball-up, .nutshell-ball-down) { position: relative; left: 1px; grid-column: 1; grid-row: 1; align-self: start; }
#dc-root .nutshell-bubble-overflow-section > div > p:not(.explanation-inline) > .nutshell-expandable:not(.explanation-inline) > .nutshell-expandable-text,
#dc-root .nutshell-bubble-overflow-section > div > :is(ul, ol):last-child > li:not(.explanation-inline) > .nutshell-expandable:not(.explanation-inline) > .nutshell-expandable-text { grid-column: 2; grid-row: 1; min-width: 0; }
#dc-root .nutshell-bubble-overflow-section > div > :is(ul, ol):last-child > li:last-child { margin-block-end: 0; }
/* Clip the height animation without creating a focus-scrollable inner viewport. */
#dc-root .nutshell-bubble-overflow { overflow: clip; display: flow-root; }
#dc-root .nutshell-bubble-overflow-section p { margin-block: 12px; }
#dc-root .nutshell-bubble :is(code, pre) { font-family: 'IBM Plex Mono', monospace; }
#dc-root :is(.nutshell-bubble-from, .nutshell-bubble-overflow-embed-button) { display: none; }
#dc-root .nutshell-bubble-overflow-close {
  position: static; display: block; width: 44px; max-width: 100%; height: 24px; min-height: 24px;
  margin: 4px auto 0; padding: 0; border: 0;
  border-radius: 0; background: transparent; opacity: 1;
  box-shadow: none;
  color: var(--ink, #15252b); font: 500 22px/24px Barlow, sans-serif !important;
}
#dc-root .nutshell-bubble-overflow-close:hover {
  background: transparent; color: var(--action, #b54128); box-shadow: none;
}
#dc-root .nutshell-bubble-overflow-close:focus-visible {
  outline: 2px solid var(--ink, #15252b); outline-offset: -2px;
}
#dc-root [data-explanation-visual] { margin: 16px 0; }
#dc-root [data-explanation-visual] figcaption { margin-bottom: 8px; font-size: 15px; }
#dc-root [data-explanation-flow] {
  display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.4fr);
  align-items: center; gap: 8px;
}
#dc-root [data-explanation-flow] > div {
  min-width: 0; padding: 8px; border: 1px solid #827e6f; border-radius: 6px; background: var(--sheet, #fffdf5);
}
#dc-root [data-explanation-flow] :is(small, strong) { display: block; }
#dc-root [data-explanation-flow] small { font-size: 15px; }
#dc-root [data-explanation-flow] strong { font-weight: 600; }
#dc-root :is([data-explanation-cards], [data-explanation-steps], [data-explanation-sequence]) {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 16px 0; padding: 0; list-style: none;
}
#dc-root :is([data-explanation-cards], [data-explanation-steps], [data-explanation-pipeline], [data-explanation-sequence]) > :is(div, li) {
  min-width: 0; padding: 10px; border: 1px solid #827e6f; border-radius: 6px; background: var(--sheet, #fffdf5); margin: 0;
}
#dc-root :is([data-explanation-cards], [data-explanation-pipeline], [data-explanation-sequence]) :is(small, strong) { display: block; }
#dc-root :is([data-explanation-cards], [data-explanation-pipeline]) :is(small, dt) { font-size: 15px; font-weight: 500; }
#dc-root [data-explanation-cards] dd { margin: 4px 0 0; }
#dc-root [data-explanation-cards="two"] > :nth-child(odd):last-child { grid-column: 1 / -1; }
#dc-root :is([data-explanation-cards="three"], [data-explanation-steps]) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#dc-root [data-explanation-steps] { counter-reset: explanation-step; }
#dc-root [data-explanation-steps] li { counter-increment: explanation-step; }
#dc-root [data-explanation-steps] li::before { content: counter(explanation-step) ". "; font-weight: 600; }
#dc-root [data-explanation-steps] span { display: block; margin-top: 4px; }
#dc-root [data-explanation-pipeline] { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 8px; }
#dc-root [data-explanation-record] { margin: 0; border: 1px solid #827e6f; border-radius: 6px; background: var(--sheet, #fffdf5); padding: 4px 12px; }
#dc-root [data-explanation-record] > div { display: grid; grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); gap: 8px; padding-block: 8px; }
#dc-root [data-explanation-record] > div + div { border-top: 1px solid #827e6f55; }
#dc-root [data-explanation-record] dt { font-size: 15px; }
#dc-root [data-explanation-record] dd { margin: 0; min-width: 0; }
#dc-root :is([data-explanation-example], [data-explanation-result]) { border: 1px solid #827e6f; border-radius: 6px; padding: 12px; background: var(--sheet, #fffdf5); }
#dc-root [data-explanation-result] { text-align: center; }
#dc-root [data-explanation-visual] code { background: none; color: inherit; padding: 0; overflow-wrap: anywhere; }
#dc-root [data-explanation-tokens] { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 16px 0; }
#dc-root [data-explanation-tokens] li { padding: 6px 10px; margin: 0; border: 1px solid #827e6f; border-radius: 6px; background: var(--sheet, #fffdf5); }
#dc-root [data-explanation-tokens] code { background: none; padding: 0; }
#dc-root [data-explanation-sequence] { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; text-align: center; }
#dc-root [data-explanation-sequence] > div { padding: 8px 2px; }
#dc-root [data-explanation-sequence] small { font-size: 15px; }
#dc-root [data-explanation-sequence] > div:last-child { border-style: dashed; }
#dc-root [data-explanation-note] { font-size: 15px; }
#dc-root #nutshell-close-all { display: none !important; }
#dc-root .nutshell-bubble [data-explanation-mark] { position: relative; }
#dc-root .nutshell-bubble :is(p, aside, blockquote, div, li)[data-explanation-mark="bracket"] { margin-block: 8px; margin-inline-start: 8px; padding-inline-start: 10px; }
#dc-root .nutshell-bubble [data-explanation-mark="circle"] { margin-inline: 6px; }
#dc-root .nutshell-bubble svg.rough-annotation { pointer-events: none !important; }
@media (max-width: 600px) {
  #dc-root .nutshell-bubble { padding-inline: 10px; }
  #dc-root .nutshell-bubble-overflow-section { padding-inline: 2px; }
  #dc-root [data-explanation-flow] { grid-template-columns: minmax(0, 1fr); }
  #dc-root [data-explanation-flow] > span { justify-self: center; }
  #dc-root [data-explanation-flow] > :last-child { text-align: center; }
  #dc-root [data-explanation-arrow] > span { display: inline-block; transform: rotate(90deg); }
  /* Rotate plain symbols once; wrapped arrows rotate only their inner span.
     The addition symbol in the name example keeps its original glyph. */
  #dc-root [data-explanation-flow] > span:not([data-explanation-arrow]) { display: inline-block; transform: rotate(90deg); }
  #dc-root :is([data-explanation-cards], [data-explanation-steps], [data-explanation-pipeline]) { grid-template-columns: minmax(0, 1fr); }
  #dc-root [data-explanation-pipeline] > [data-explanation-arrow] { text-align: center; }
  #dc-root [data-explanation-record] > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  /* Local close controls remain in each panel; a floating control covers phone prose. */
  #dc-root #nutshell-close-all { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  #dc-root .nutshell-expandable { --nutshell-dot-up: .4em !important; --nutshell-dot-down: .7em !important; }
  #dc-root :is(.nutshell-ball-up, .nutshell-ball-down) { transition: none !important; }
  #dc-root :is(.nutshell-bubble, .nutshell-bubble-overflow) { transition: none !important; }
}

/* Privacy identity only. Dot motion, hit-area rhythm and close layout remain shared. */
.notice-explanation-bank{display:none}
html[data-notice-mode=cold] #dc-root .nutshell-expandable{display:inline-block}
#dc-root .nutshell-expandable{font:inherit!important;color:inherit}
#dc-root .nutshell-expandable:focus-visible{outline-color:currentColor}
#dc-root .notice-help-link{margin:0!important}
/* The notice inherits Newsreader/Fraunces, not the shared Barlow face. Keep
   the pair centered on its first text line, including nested grid links. */
#dc-root .nutshell-expandable:not(.explanation-inline){--nutshell-dot-offset:calc(.5lh - .62em)}
#dc-root .storage-feature-list{margin:22px 0;padding:0}
#dc-root .storage-feature-list>div{padding:12px 0;border-bottom:1px solid #cbc8b5;display:grid;grid-template-columns:185px minmax(0,1fr);gap:6px 16px}
#dc-root .storage-feature-list dt{font:650 17px/1.4 'Bricolage Grotesque',sans-serif;margin-bottom:6px;scroll-margin-top:115px}
#dc-root .storage-feature-list dd{margin:0}
#dc-root .storage-applies{font-size:.9em;line-height:1.6}
#dc-root [data-storage-activity] :is(p,dd){overflow-wrap:anywhere}
#dc-root .nutshell-bubble{--paper:#fffdf5;--arrow-background:#fffdf5;width:auto!important;color:inherit!important;font:inherit!important;background:#fffdf5!important}
#dc-root .nutshell-bubble .nutshell-bubble{width:auto!important}
#dc-root .nutshell-bubble-overflow-section{font:inherit!important;overflow-wrap:anywhere}
#dc-root .nutshell-bubble-overflow-section p{font:inherit!important}
#dc-root .nutshell-bubble-overflow-close{font-family:'Bricolage Grotesque',sans-serif!important;color:inherit}
#dc-root .nutshell-bubble-overflow-close:focus-visible{outline-color:currentColor}
[data-notice-visual]{margin:16px 0}
[data-notice-visual] figcaption{font:550 14px/1.4 'Bricolage Grotesque',sans-serif;margin-bottom:8px}
[data-notice-flow]{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}
[data-notice-flow]>div{flex:1 1 120px;min-width:0;padding:10px 12px;border:1px solid #827e6f;border-radius:6px;background:#fbf5e4}
[data-notice-flow]>span{align-self:center;font-size:22px}
:is([data-notice-flow="handoff"],[data-notice-flow="retention"])>div:last-child{flex-basis:100%}
[data-notice-flow] small,[data-notice-flow] strong{display:block}
[data-notice-flow] small{font-size:14px;line-height:1.4;margin-bottom:4px}
[data-notice-flow] strong{font-weight:600}
[data-notice-fact]{padding:10px 12px;border:1px solid #827e6f;border-radius:6px}
[data-notice-fact] span[data-explanation-mark]{position:relative}
#dc-root .nutshell-bubble svg.rough-annotation{pointer-events:none!important}
#dc-root .nutshell-bubble [data-explanation-mark="circle"]{margin-inline:6px}
#dc-root .nutshell-bubble :is(code,pre){font-family:Inconsolata,monospace;overflow-wrap:anywhere;white-space:pre-wrap}
#nutshell-close-all{display:none!important}
/* Stable heading hierarchy; edition identity remains in the actual display face. */
main>header h1 :is(span,em),#playground>div>h2 :is(span,em),#deletion>div:first-child h2 :is(span,em),.hot-summary h2 em{font-style:normal!important;font-weight:inherit!important;color:inherit!important}
.notice-footer-copy :is(span,em){font-style:normal!important;font-weight:inherit!important;color:inherit!important}
.hot-aside{font-style:normal}
.hot-no-sale strong,main>header aside b{background:none!important;font-weight:600!important}
#notice article :is(p b,p strong,td strong){font-weight:600}
#notice article table{width:100%;border-collapse:collapse;margin:20px 0;font:inherit}
#notice article :is(th,td){padding:10px 12px;border-bottom:1px solid #c9c6ad;text-align:left;vertical-align:top}
#notice article thead{font:600 16px/1.5 'Bricolage Grotesque',sans-serif}
#notice article tbody tr:first-child{font:inherit;background:none}
#notice article tbody td:first-child{font-weight:600;min-width:90px}
#notice article dl{margin:20px 0}
#notice article dl>div{padding:12px 0;border-bottom:1px solid #c9c6ad}
#notice article dt{font:600 17px/1.5 'Bricolage Grotesque',sans-serif;margin-bottom:6px}
#notice article dd{margin:0}
#notice article code{font:.9em/1.5 Inconsolata,monospace;overflow-wrap:anywhere}
@media(max-width:600px){
 #dc-root .storage-feature-list>div{padding:10px 0;grid-template-columns:minmax(0,1fr);gap:3px}
 #dc-root .nutshell-bubble{padding:10px 10px 8px}
 [data-notice-flow]{flex-direction:column}
 [data-notice-flow]>div{flex:auto}
 [data-notice-flow]>span{transform:rotate(90deg)}
 #nutshell-close-all{display:none!important}
}
@media(prefers-reduced-motion:reduce){#dc-root :is(.nutshell-bubble,.nutshell-bubble-overflow){transition:none!important}}
@media print{#nutshell-close-all{display:none!important}}
