@font-face{font-family:'Be Vietnam Pro';src:url('/assets/fonts/be-vietnam-pro-medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Be Vietnam Pro';src:url('/assets/fonts/be-vietnam-pro-semibold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Be Vietnam Pro';src:url('/assets/fonts/be-vietnam-pro-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Be Vietnam Pro';src:url('/assets/fonts/be-vietnam-pro-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Liberation Serif';src:url('/assets/fonts/LiberationSerif-Regular.woff2') format('woff2');font-display:swap}
@font-face{font-family:'Liberation Serif';src:url('/assets/fonts/LiberationSerif-Italic.woff2') format('woff2');font-style:italic;font-display:swap}
[hidden]{display:none!important}
img{max-width:100%}
button{font:inherit}
svg{max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}
a{cursor:pointer}
dialog{border:1px solid #DCE3EC;max-width:760px;width:calc(100% - 32px);padding:32px}
dialog:not([open]){display:none}
fieldset{border:0;min-width:0;padding:0;margin:0}
input:not([type=range]):not([type=radio]):not([type=hidden]),textarea,select{width:100%;padding:12px 16px;background:white;border:1px solid #b5c3d6;min-height:48px}
textarea{resize:vertical}
input[type=range]{width:100%;accent-color:#0764EE;min-height:44px}
.message-dialog .dialog-close{margin-left:auto}
.message-dialog p{margin:16px 0}
.toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:16px 24px;background:#021D4A;color:white;z-index:200}
.bottom-bar{display:none;position:fixed;bottom:0;z-index:70}
.reveal{opacity:0;transform:translateY(8px);transition:opacity .3s ease-out,transform .3s ease-out}
.reveal.is-visible{opacity:1;transform:none}
.footer-grid img{display:block}
.code-sheet{max-height:90dvh;overflow:auto;margin:auto auto 0}
.code-sheet-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}
.code-sheet-heading h2{font-size:var(--type-28)}
.sheet-handle{height:4px;width:48px;background:#b5c3d6;border-radius:999px;margin:0 auto 24px}
.has-code-sheet{overflow:hidden}
.text-link:hover,.text-button:hover{text-decoration:underline}

/* Explicit native closed-disclosure state keeps hidden descendants out of layout and focus metrics. */
details:not([open]) > :not(summary){display:none}
