html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; overscroll-behavior: none; }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24; line-height: 1; user-select: none; }
.icon-fill { font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24; }
.no-scrollbar { scrollbar-width: none; } .no-scrollbar::-webkit-scrollbar { display: none; }
.pb-safe { padding-bottom: env(safe-area-inset-bottom, 0px); }
.stretched::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.above-stretch { position: relative; z-index: 2; }
:focus-visible { outline: 2px solid #ff5e36; outline-offset: 2px; }
details > summary { list-style: none; cursor: pointer; } details > summary::-webkit-details-marker { display: none; }
details[open] > summary .faq-chev { transform: rotate(180deg); }
.faq-chev { transition: transform .2s; }
.prose-goc { font-size: 17px; line-height: 29px; color: #131b2e; }
.prose-goc > * + * { margin-top: 1em; }
.prose-goc h2 { font-size: 26px; line-height: 34px; font-weight: 800; letter-spacing: -0.015em; margin-top: 1.8em; scroll-margin-top: 110px; }
.prose-goc h3 { font-size: 20px; line-height: 28px; font-weight: 700; margin-top: 1.4em; }
.prose-goc ul, .prose-goc ol { padding-left: 1.4em; } .prose-goc ul { list-style: disc; } .prose-goc ol { list-style: decimal; }
.prose-goc li { margin-top: .4em; padding-left: .2em; } .prose-goc li::marker { color: #ff5e36; font-weight: 700; }
.prose-goc a { color: #b42901; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.prose-goc strong { font-weight: 800; }
.prose-goc pre { background: #131b2e; color: #eef0ff; padding: 1rem 1.25rem; border-radius: 1rem; overflow-x: auto; font-size: 13px; line-height: 20px; }
.prose-goc table { width: 100%; border-collapse: collapse; font-size: 15px; display: block; overflow-x: auto; }
.prose-goc th, .prose-goc td { text-align: left; padding: .6rem .8rem; border-bottom: 1.5px solid rgba(15,23,42,.08); }
.prose-goc th { font-weight: 800; background: #f2f3ff; }
.prose-goc blockquote { border-left: 4px solid #50fcb1; padding: .25rem 1rem; background: #f2f3ff; border-radius: 0 1rem 1rem 0; }
.toast { position: fixed; left: 50%; bottom: 96px; transform: translate(-50%, 20px); opacity: 0; transition: all .25s; z-index: 80; pointer-events: none; }
.toast.show { transform: translate(-50%, 0); opacity: 1; }
@media (min-width: 1024px) { .toast { bottom: 32px; } }
.ring-c { transition: stroke-dashoffset .4s ease; }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
