/* Heavy Helper — base styles shared by inner pages */
html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body { background: #FAFAF8; color: #0B0B0B; overflow-x: hidden; }
::selection { background: #0B0B0B; color: #fff; }
:focus-visible { outline: 2px solid #0B0B0B; outline-offset: 3px; border-radius: 6px; }
.kicker { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; font-weight: 500; }
.hairline { border-color: rgba(11,11,11,.08); }
.btn { transition: transform .4s cubic-bezier(.22,.61,.36,1), background .3s, border-color .3s, color .3s, opacity .3s; }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.card { background: #fff; border: 1px solid rgba(11,11,11,.08); border-radius: 1.5rem; box-shadow: 0 1px 0 rgba(11,11,11,.04), 0 10px 30px -18px rgba(11,11,11,.18); }
.lift { transition: transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s; }
.lift:hover { transform: translateY(-2px); box-shadow: 0 28px 50px -26px rgba(11,11,11,.3); }
.settle { animation: settle .6s cubic-bezier(.22,.61,.36,1); }
@keyframes settle { from { opacity: .35; transform: translateY(8px) } to { opacity: 1; transform: none } }
.badge { display: inline-flex; align-items: center; gap: .375rem; border-radius: 9999px; padding: .25rem .625rem; font-size: 12px; font-weight: 500; }
.badge-mint { background: #E7F6EE; color: #1E8F63; }
.badge-ink { background: #0B0B0B; color: #fff; }
.badge-soft { background: #FAFAF8; color: #0B0B0B; }
.badge-amber { background: #FFF4D6; color: #9A6700; }
input[type=checkbox], input[type=radio] { accent-color: #0B0B0B; }
.side-link { display: flex; align-items: center; gap: .75rem; border-radius: .875rem; padding: .625rem .875rem; font-size: 14px; font-weight: 500; color: #6E6B66; transition: background .3s, color .3s; }
.side-link:hover { background: #fff; color: #0B0B0B; }
.side-link.is-active { background: #0B0B0B; color: #fff; }
.side-link i { width: 16px; text-align: center; font-size: 13px; }
.stepper li { position: relative; padding-left: 1.75rem; }
.stepper li::before { content: ""; position: absolute; left: .4rem; top: .45rem; width: 9px; height: 9px; border-radius: 9999px; background: rgba(11,11,11,.15); }
.stepper li.done::before { background: #7FD3A9; }
.stepper li.now::before { background: #0B0B0B; box-shadow: 0 0 0 4px rgba(11,11,11,.08); }
.stepper li:not(:last-child)::after { content: ""; position: absolute; left: calc(.4rem + 4px); top: 1.1rem; bottom: -.4rem; width: 1px; background: rgba(11,11,11,.12); }
@media (prefers-reduced-motion: reduce) { .btn, .lift, .settle { transition: none; animation: none; } }
