*{box-sizing:border-box}html{font-size:var(--fontSize)}body{margin:0;background:var(--colorBgLayout);color:var(--colorText);font-family:var(--fontFamily);font-size:var(--fontSize);line-height:var(--lineHeight);font-variant-numeric:tabular-nums lining-nums}
a{color:var(--colorLink);text-underline-offset:var(--sizeXXS)}a:hover{text-decoration-thickness:var(--focusWidth)}a:active,button:active{background:var(--colorPrimaryBg);color:var(--colorLink)}:focus-visible{outline:var(--focusWidth) solid var(--controlOutline);outline-offset:var(--focusWidth)}
.skip{position:absolute;top:0;left:var(--size);background:var(--colorBgContainer);padding:var(--size);transform:translateY(-150%);z-index:3}.skip:focus{transform:none}
aside{position:fixed;inset:0 auto 0 0;width:var(--siderWidth);background:var(--siderBg);color:var(--siderText)}summary{cursor:pointer;padding-block:var(--sizeSM)}
main{margin-left:var(--siderWidth);padding:var(--sizeLG);min-width:0}header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--size)}h1{letter-spacing:var(--trackTitle);color:var(--colorTextHeading);overflow-wrap:anywhere;font-size:var(--fontHeading);line-height:var(--lineHeading);font-weight:600;margin:0}h2{color:var(--colorTextHeading);font-size:var(--fontPanel);line-height:var(--linePanel);font-weight:600;margin:0 0 var(--sizeSM)}p{margin:var(--sizeXS) 0}.muted,footer{color:var(--colorTextSecondary)}footer{margin-top:var(--sizeLG)}.notice{color:var(--colorInfoText);background:var(--colorInfoBg);padding:var(--sizeXXS) var(--sizeXS);border-radius:var(--radiusSM)}.notice{padding:var(--sizeSM)}
.panel{background:var(--colorBgContainer);border:var(--lineWidth) solid var(--colorBorderSecondary);border-radius:var(--radiusLG);padding:var(--sizeMD);margin-block:var(--size)}.filters{display:flex;flex-wrap:wrap;align-items:end;gap:var(--size)}label{display:flex;flex-direction:column;gap:var(--sizeXS);min-width:0}input,select,textarea,button,.button{font:inherit;min-height:var(--controlHeight);border:var(--lineWidth) solid var(--colorBorder);border-radius:var(--radius);padding:var(--sizeXXS) var(--sizeSM);background:var(--colorBgContainer);color:var(--colorText);max-width:100%}button,.button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.button{color:var(--colorLink);text-decoration:none}textarea{resize:vertical}.filters label:has(>textarea){flex-basis:100%}input[type=checkbox]{min-height:0;min-width:0;width:var(--size);height:var(--size);padding:0;accent-color:var(--colorPrimary)}label:has(>input[type=checkbox]){flex-direction:row;align-items:center}form:not(.filters){display:grid;gap:var(--size)}main form:not(.filters)>button{justify-self:end}.filters>.button-primary{margin-left:auto}
.table-scroll{overflow:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:var(--fontSizeDense);line-height:var(--lineHeightDense)}th{position:sticky;top:0;background:var(--colorFillAlter);font-size:var(--fontSizeDense);line-height:var(--lineHeightDense);color:var(--colorTextSecondary);font-weight:600;text-align:left}th,td{padding:var(--sizeXS);border-bottom:var(--lineWidth) solid var(--colorSplit);vertical-align:middle;overflow-wrap:anywhere}td{height:var(--rowHeight)}td:first-child{font-weight:600}tr:hover{background:var(--colorFillAlterSolid)}.number{text-align:right}td a{display:inline-block;min-height:var(--controlHeight)}pre,dd{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}pre,.identity{font-family:var(--fontFamilyCode);font-size:var(--fontSizeDense);overflow-wrap:anywhere}dl{display:grid;grid-template-columns:1fr 3fr;gap:var(--sizeXS) var(--size)}dt{color:var(--colorTextSecondary)}dd{margin:0}.data-state{padding:var(--sizeLG)}.state-error h2{color:var(--colorError)}.required{color:var(--colorTextSecondary)}.state-invalid h2{color:var(--colorWarning)}
.header-actions{display:flex;flex-wrap:wrap;gap:var(--size);margin-left:auto;max-width:100%}
/* Sign-in and Result pages stand alone (product-ui §7): graphite brand panel with the Engraved light, white form column; a band below 760 px. */
.standalone{display:flex;min-height:100vh;min-height:100dvh}.brand-panel{position:relative;flex:0 0 var(--loginPanel);min-width:var(--loginPanelMin);background:var(--hx-graphite);color:var(--hx-on-primary);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sizeLG);padding:var(--sizeXXL)}.brand-panel>*{position:relative}.brand-panel::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 30% at 0 0,var(--hx-graphite) 35%,transparent),radial-gradient(ellipse 80% 40% at 0 100%,var(--hx-graphite) 40%,transparent)}.brand-panel>:not(canvas){z-index:1}.brand-panel>canvas{position:absolute;inset:0;width:100%;height:100%}.logo{display:block;height:var(--sizeXL);width:auto;align-self:flex-start}
.hx-display{font-family:var(--hx-font-serif);font-weight:400;font-size:var(--fontDisplay);line-height:var(--lineDisplay);margin:0;max-width:14em}
.signin-side{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--sizeLG);min-width:0;padding:var(--sizeLG) var(--size)}.signin-side>*{width:min(var(--loginForm),100%)}.signin-side main{margin:0;padding:0}.signin-side footer{margin-top:0}.signin-side .header-actions{justify-content:flex-end}
.signin-card{background:none;border:0;border-radius:0;padding:0;margin-block:var(--sizeSM)}
@media(width < 760px){.standalone{flex-direction:column}.brand-panel{flex:0 0 var(--loginBand);min-width:0;height:var(--loginBand);padding:var(--sizeLG) var(--size)}.hx-display{font-size:var(--fontDisplayPhone);line-height:var(--lineDisplayPhone)}}
@media(width >= 600px){body:has(>aside)>.banner{margin-left:var(--siderWidth)}html[data-shell="folded"] body>.banner{margin-left:0}}
.health-facts th:first-child{overflow-wrap:normal}
/* Single layout boundary: phones are strictly below 600 px (product-ui §11); tablets keep the desktop layout. */
@media(width < 600px){aside{position:static;width:100%;padding:var(--size)}main{margin-left:0;padding:var(--size)}header{align-items:start}.filters{display:grid;grid-template-columns:minmax(0,1fr)}input,select,textarea{font-size:var(--fontSizeLG)}label:has(>input[type=checkbox]){min-height:var(--controlHeightMobile)}input,select,button,.button,summary,nav a,td a{min-height:var(--controlHeightMobile);min-width:var(--controlHeightMobile)}.filter-submit{position:sticky;bottom:env(safe-area-inset-bottom);z-index:1}main form:not(.filters)>button{justify-self:stretch}.filters>.button-primary{margin-left:0}.panel{padding:var(--size)}dl{grid-template-columns:minmax(0,1fr)}td{min-width:var(--siderWidth)}footer{padding-bottom:env(safe-area-inset-bottom)} }
/* Phones (below 600 px): list tables become rows, name left, state right, details under; header kept for screen readers. */
@media(width < 600px){nav a{display:inline-flex;align-items:center}main{padding-inline:max(var(--size),env(safe-area-inset-left)) max(var(--size),env(safe-area-inset-right))}table[data-rows] thead{position:absolute;width:var(--lineWidth);height:var(--lineWidth);overflow:hidden;clip-path:inset(50%)}table[data-rows],table[data-rows] tbody{display:block}table[data-rows] tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sizeXXS) var(--size);padding-block:var(--sizeXS);border-bottom:var(--lineWidth) solid var(--colorSplit)}table[data-rows] td{grid-column:1/-1;min-width:0;height:auto;padding:0;border:0;color:var(--colorTextSecondary)}table[data-rows] td:first-child{grid-column:1;color:var(--colorText)}table[data-rows] td[data-state]{grid-column:2;grid-row:1;text-align:right;color:var(--colorText)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none;transition:none;scroll-behavior:auto}}
/* Kit motion (product-ui §6): feedback 120 ms ease-out on hover, press and focus; the drawer transitions 200 ms. Inside no-preference so the reduced-motion rule above, which `*` alone cannot win against these selectors, keeps the screen still. */
@media(prefers-reduced-motion:no-preference){a,button,.button,input,select,textarea,summary{transition:color var(--hx-dur-feedback) ease-out,background-color var(--hx-dur-feedback) ease-out,border-color var(--hx-dur-feedback) ease-out}#shell-drawer[open]{transition:transform var(--hx-dur-transition) var(--hx-ease)}@starting-style{#shell-drawer[open]{transform:translateX(-100%)}}}
/* Semantic tags require a visible text label; the decorative dot is not the label. */
.tag{--tagText:var(--colorDefaultText);--tagDot:var(--colorDefaultDot);--tagBg:var(--colorDefaultBg);display:inline-flex;align-items:center;gap:var(--sizeXXS);color:var(--tagText);background:var(--tagBg);padding:var(--sizeXXS) var(--sizeXS);border-radius:var(--radiusSM);font-size:var(--fontSizeSM);line-height:var(--lineHeightSM)}
.tag::before{content:"";flex:none;width:var(--sizeXS);height:var(--sizeXS);border-radius:50%;background:var(--tagDot)}

.tag-success{--tagText:var(--colorSuccessText);--tagDot:var(--colorSuccessDot);--tagBg:var(--colorSuccessBg)}
.tag-warning{--tagText:var(--colorWarningText);--tagDot:var(--colorWarningDot);--tagBg:var(--colorWarningBg)}
.tag-error{--tagText:var(--colorErrorText);--tagDot:var(--colorErrorDot);--tagBg:var(--colorErrorBg)}
.button-primary{background:var(--colorPrimary);border-color:var(--colorPrimary);color:var(--colorTextLightSolid);font-weight:600;text-decoration:none}
/* :not() keeps hover/active off disabled controls, so the disabled colours win regardless of rule order. */
.button-primary:not(:disabled):not([aria-disabled="true"]):hover{background:var(--colorPrimaryHover);border-color:var(--colorPrimaryHover);color:var(--colorTextLightSolid)}
.button-primary:not(:disabled):not([aria-disabled="true"]):active{background:var(--colorPrimaryActive);border-color:var(--colorPrimaryActive);color:var(--colorTextLightSolid)}
button:disabled,.button:disabled,.button[aria-disabled="true"]{color:var(--colorTextDisabled);background:var(--colorBgDisabled);border-color:var(--colorBorder);cursor:not-allowed}
.summary-strip{display:flex;flex-wrap:wrap;gap:var(--size);padding:var(--sizeSM);background:var(--colorFillSecondary);border-radius:var(--radius);margin-block:var(--size)}
.summary-strip>div{flex:1;min-width:0;overflow-wrap:anywhere}.summary-strip dt{font-size:var(--fontSizeSM);line-height:var(--lineHeightSM)}.summary-strip dd{color:var(--colorTextHeading);font-weight:600}
.summary-strip dt{color:var(--colorText)} /* Muted on teal-light is 4.42:1 */
.table-compact td,.table-compact th[scope="row"]{height:var(--rowHeightCompact)}.table-compact th[scope="row"]{position:static;background:transparent}.table-compact pre{margin:0}.table-multiline td{height:var(--rowHeight)}td:first-child{font-weight:600}
td .tag{white-space:nowrap}.conformance-table td:first-child{font-family:var(--fontFamilyCode)}.conformance-table td:nth-child(3){min-width:var(--siderWidth)}.conformance-table details dl{grid-template-columns:minmax(0,1fr)}.conformance-table .number{white-space:nowrap}.conformance-table td:nth-child(5){overflow-wrap:normal;white-space:nowrap}
[hidden]{display:none!important}
#shell-home{overflow-y:auto;--footWidth:var(--siderWidth)}#shell-nav{display:flex;flex-direction:column;min-height:100%;gap:var(--size)}#shell-nav>:not(nav),#shell-nav nav p{padding-inline:var(--size)}.shell-nav-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--sizeXS);padding-top:var(--sizeLG)}.shell-logo{display:block;width:var(--logoWidth);height:auto}#shell-nav .muted{color:var(--siderText)}
/* Engraved foot (product-ui §8): its clear edge (half the 240x900 image's height) sits one gap below the last item, and it moves down as the nav grows. */
.shell-foot{flex:1;margin-bottom:calc(-1*var(--size));background:url(/console/sidebar-engraved-teal.svg) no-repeat 0 max(100%,calc(var(--footWidth)*-1.875))/var(--footWidth) auto}@media(height < 760px){.shell-foot{background:none}}
.shell-access{background:var(--siderBg);border-top:var(--lineWidth) solid var(--siderRule);padding-block:var(--size)}
.visually-hidden{position:absolute;width:var(--lineWidth);height:var(--lineWidth);overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#shell-nav button,#shell-nav input,.shell-bar button{background:var(--siderBg);color:var(--siderStrong)}
.lang-toggle{display:inline-flex}
.lang-toggle button{min-height:0;min-width:0;padding:var(--sizeXXS) var(--sizeSM);font-size:var(--fontSizeSM)}
.lang-toggle button:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}
.lang-toggle button + button{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0}
.lang-toggle button[aria-pressed="true"],#shell-nav .lang-toggle button[aria-pressed="true"]{background:var(--colorPrimary);border-color:var(--colorPrimary);color:var(--colorTextLightSolid);font-weight:600}
.shell-bar .lang-toggle{margin-left:auto}
#shell-nav a{display:flex;align-items:center;min-height:var(--controlHeight);padding-inline:var(--size);color:var(--siderText);font-size:var(--fontNav);text-decoration:none}#shell-nav a:hover{color:var(--siderHover);background:var(--siderHoverBg)}#shell-nav a[aria-current]{color:var(--siderStrong);background:var(--siderActiveBg);font-weight:600;box-shadow:inset var(--navBar) 0 0 var(--siderBar)}#shell-nav a:focus-visible{outline-offset:calc(-2*var(--focusWidth))}#shell-nav :focus-visible,.shell-bar :focus-visible{outline-color:var(--siderFocus)}
#shell-drawer{--footWidth:var(--drawerWidth);inset:0 auto 0 0;margin:0;width:min(var(--drawerWidth),100%);max-width:100%;height:100%;max-height:100%;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom) env(safe-area-inset-left);border:0;background:var(--siderBg);color:var(--siderText)}#shell-drawer::backdrop{background:color-mix(in srgb,var(--siderBg) 45%,transparent)}
.shell-bar{display:none}html[data-shell="folded"] main{margin-left:0}html[data-shell="folded"] .shell-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--size);min-height:calc(var(--appBar) + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(var(--size),env(safe-area-inset-right)) 0 max(var(--size),env(safe-area-inset-left));background:var(--siderBg);color:var(--siderStrong)}
@media(width < 600px){html[data-shell] #shell-home{display:none}#shell-nav a{min-height:var(--controlHeightMobile)}#shell-nav input{width:100%}}
.depth td:first-child{font-weight:400}
.timeline-chart{width:100%;max-width:600px;height:auto;border:var(--lineWidth) solid var(--colorBorderSecondary);border-radius:var(--radius)}.timeline-chart .vol{fill:var(--hx-teal-ink)}.side-buy{color:var(--colorBuyText)}.side-sell{color:var(--colorSellText)}.timeline-chart circle.px{fill:var(--colorPrimary)}.timeline-chart .px{fill:none;stroke:var(--colorPrimary);stroke-width:2}

#shell-toasts { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 50; max-width: min(24rem, 90vw); }
.shell-toast { padding: 1rem; margin-top: .75rem; background: var(--hx-ground); color: var(--hx-graphite); border-radius: .5rem; box-shadow: 0 8px 24px rgba(17,24,39,.12); transition: opacity 200ms, transform 200ms; }
.shell-toast button { margin-left: 1rem; }
