@layer components{.button{padding:var(--space-md)var(--space-lg);font-family:inherit;font-size:var(--text-lg);text-transform:uppercase;letter-spacing:var(--tracking-wide);border:var(--border-thick)solid;cursor:pointer;transition:all var(--transition-fast)ease;font-weight:700}.button--blood{color:var(--ivory-white);background-color:var(--crimson-red);border-color:var(--crimson-red)}.button--blood:hover{background-color:var(--blood-red);border-color:var(--blood-red)}.button--blood:focus-visible{outline:var(--border-thick)solid var(--candlelight);outline-offset:var(--border-thick)}.button--ghost{color:var(--ash-gray);border-color:var(--charcoal-gray);background-color:#0000}.button--ghost:hover{color:var(--ivory-white);border-color:var(--ash-gray)}.button--ghost:focus-visible{outline:var(--border-thick)solid var(--candlelight);outline-offset:var(--border-thick)}}
@layer components{.error-message{color:var(--blood-red);font-size:var(--text-base);padding:var(--space-md);border:var(--border-thin)solid var(--blood-red);background-color:rgba(115,21,23,var(--opacity-subtle));font-style:italic}}
@layer components{.password-input{padding:var(--space-md);font-family:var(--font-geist-mono),"Courier New",Courier,monospace;font-size:var(--text-lg);color:var(--ivory-white);background-color:var(--charcoal-gray);border:var(--border-thick)solid var(--shadow-purple);text-align:center;letter-spacing:var(--tracking-wider);text-transform:uppercase;width:100%}.password-input::placeholder{color:var(--ash-gray);opacity:var(--opacity-dim)}.password-input:focus{border-color:var(--candlelight);outline:none}}
