.asmw { margin: 1.5rem 0; padding: 1rem; border: 1px solid rgba(128,128,128,.4); border-radius: .6rem; background: rgba(128,128,128,.07); font-size: .95rem; }
.asmw h4 { margin: 0 0 .7rem; font-size: 1rem; }
.asmw .row { display: flex; flex-wrap: wrap; gap: .6rem 1rem; align-items: center; margin: .5rem 0; }
.asmw label { display: inline-flex; align-items: center; gap: .4rem; }
.asmw input[type=text], .asmw select { font: inherit; font-family: ui-monospace, monospace; padding: .25rem .5rem; width: 7rem; border: 1px solid rgba(128,128,128,.5); border-radius: .3rem; background: transparent; color: inherit; }
.asmw select { width: auto; }
.asmw input[type=range] { flex: 1 1 12rem; }
.asmw button { font: inherit; padding: .25rem .7rem; border: 1px solid rgba(128,128,128,.5); border-radius: .3rem; background: rgba(128,128,128,.15); color: inherit; cursor: pointer; }
.asmw button:hover { background: rgba(37,99,235,.25); }
.asmw code, .asmw .mono { font-family: ui-monospace, monospace; }
.asmw canvas { max-width: 100%; border: 1px solid rgba(128,128,128,.4); border-radius: .3rem; display: block; }
.asmw .bits { display: inline-flex; gap: 2px; }
.asmw .bit { width: 1.5rem; padding: .2rem 0; text-align: center; font-family: ui-monospace, monospace; border: 1px solid rgba(128,128,128,.5); border-radius: .2rem; cursor: pointer; user-select: none; }
.asmw .bit.on { background: #2563eb; color: #fff; border-color: #2563eb; }
.asmw .gap { width: .8rem; }
.asmw .flag { display: inline-block; min-width: 3.6rem; padding: .3rem .5rem; margin: 0 .3rem .3rem 0; text-align: center; border: 1px solid rgba(128,128,128,.5); border-radius: .3rem; font-family: ui-monospace, monospace; }
.asmw .flag.on { background: #2563eb; color: #fff; border-color: #2563eb; }
.asmw .flag.na { opacity: .5; }
.asmw .taken { color: #16a34a; font-weight: 700; }
.asmw .not-taken { opacity: .55; }
.asmw .err { color: #dc2626; }
.asmw .muted { opacity: .7; font-size: .88rem; }
.asmw table { border-collapse: collapse; }
.asmw td { padding: .15rem .6rem; border: 1px solid rgba(128,128,128,.3); font-family: ui-monospace, monospace; }
.asmw td.sp { background: rgba(37,99,235,.3); font-weight: 700; }
.asmw .swatch { display: inline-block; width: 1.4rem; height: 1.4rem; border: 2px solid transparent; border-radius: .2rem; cursor: pointer; vertical-align: middle; }
.asmw .swatch.sel { border-color: currentColor; }
.asmw .preview { display: inline-block; padding: .4rem 1rem; font-family: ui-monospace, monospace; font-size: 1.2rem; }
@keyframes asmw-blink { 50% { opacity: 0; } }
.asmw .blink { animation: asmw-blink 1s steps(1) infinite; }
